// Copyright 2023 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 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.WithDefaultMTLSEndpoint(mtlsBasePath))
	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.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.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)
	return rs
}

type ProjectsLocationsService struct {
	s *Service

	BatchPredictionJobs *ProjectsLocationsBatchPredictionJobsService

	CustomJobs *ProjectsLocationsCustomJobsService

	DataLabelingJobs *ProjectsLocationsDataLabelingJobsService

	Datasets *ProjectsLocationsDatasetsService

	DeploymentResourcePools *ProjectsLocationsDeploymentResourcePoolsService

	Endpoints *ProjectsLocationsEndpointsService

	Featurestores *ProjectsLocationsFeaturestoresService

	HyperparameterTuningJobs *ProjectsLocationsHyperparameterTuningJobsService

	IndexEndpoints *ProjectsLocationsIndexEndpointsService

	Indexes *ProjectsLocationsIndexesService

	MetadataStores *ProjectsLocationsMetadataStoresService

	MigratableResources *ProjectsLocationsMigratableResourcesService

	ModelDeploymentMonitoringJobs *ProjectsLocationsModelDeploymentMonitoringJobsService

	Models *ProjectsLocationsModelsService

	NasJobs *ProjectsLocationsNasJobsService

	NotebookRuntimeTemplates *ProjectsLocationsNotebookRuntimeTemplatesService

	NotebookRuntimes *ProjectsLocationsNotebookRuntimesService

	Operations *ProjectsLocationsOperationsService

	PipelineJobs *ProjectsLocationsPipelineJobsService

	Publishers *ProjectsLocationsPublishersService

	Schedules *ProjectsLocationsSchedulesService

	SpecialistPools *ProjectsLocationsSpecialistPoolsService

	Studies *ProjectsLocationsStudiesService

	Tensorboards *ProjectsLocationsTensorboardsService

	TrainingPipelines *ProjectsLocationsTrainingPipelinesService
}

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 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)
	return rs
}

type ProjectsLocationsMetadataStoresService struct {
	s *Service

	Artifacts *ProjectsLocationsMetadataStoresArtifactsService

	Contexts *ProjectsLocationsMetadataStoresContextsService

	Executions *ProjectsLocationsMetadataStoresExecutionsService

	MetadataSchemas *ProjectsLocationsMetadataStoresMetadataSchemasService
}

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

type ProjectsLocationsMetadataStoresArtifactsService struct {
	s *Service
}

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

type ProjectsLocationsMetadataStoresContextsService struct {
	s *Service
}

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

type ProjectsLocationsMetadataStoresExecutionsService struct {
	s *Service
}

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

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

// 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with
	// an empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleApiHttpBody) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleApiHttpBody
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ActiveLearningConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ActiveLearningConfig
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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
	// }/artifacts/{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
	// }/executions/{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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1AddContextArtifactsAndExecutionsRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1AddContextArtifactsAndExecutionsRequest
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with
	// an empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1AddContextChildrenRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1AddContextChildrenRequest
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1AddExecutionEventsRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1AddExecutionEventsRequest
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with
	// an empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1AddTrialMeasurementRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1AddTrialMeasurementRequest
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1Annotation) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1Annotation
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1AnnotationSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1AnnotationSpec
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1Artifact) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1Artifact
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1AssignNotebookRuntimeOperationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1AssignNotebookRuntimeOperationMetadata
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1AssignNotebookRuntimeRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1AssignNotebookRuntimeRequest
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1Attribution) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1Attribution
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1AutomaticResources) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1AutomaticResources
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1AutoscalingMetricSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1AutoscalingMetricSpec
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1AvroSource) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1AvroSource
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1BatchCreateFeaturesOperationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1BatchCreateFeaturesOperationMetadata
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1BatchCreateFeaturesRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1BatchCreateFeaturesRequest
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1BatchCreateFeaturesResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1BatchCreateFeaturesResponse
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1BatchCreateTensorboardRunsRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1BatchCreateTensorboardRunsRequest
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1BatchCreateTensorboardRunsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1BatchCreateTensorboardRunsResponse
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1BatchCreateTensorboardTimeSeriesRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1BatchCreateTensorboardTimeSeriesRequest
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any non-pointer, non-interface field appearing in
	// ForceSendFields will be sent to the server regardless of whether the
	// field is empty or not. This may be used to include empty fields in
	// Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1BatchCreateTensorboardTimeSeriesResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1BatchCreateTensorboardTimeSeriesResponse
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with
	// an empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1BatchDedicatedResources) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1BatchDedicatedResources
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any non-pointer, non-interface field appearing in
	// ForceSendFields will be sent to the server regardless of whether the
	// field is empty or not. This may be used to include empty fields in
	// Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1BatchImportEvaluatedAnnotationsRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1BatchImportEvaluatedAnnotationsRequest
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any non-pointer, non-interface
	// field appearing in ForceSendFields will be sent to the server
	// regardless of whether the field is empty or not. This may be used to
	// include empty fields in Patch requests.
	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. However, any field with an empty value appearing
	// in NullFields will be sent to the server as null. It is an error if a
	// field in this list has a non-empty value. This may be used to include
	// null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1BatchImportEvaluatedAnnotationsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1BatchImportEvaluatedAnnotationsResponse
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any non-pointer, non-interface field appearing in
	// ForceSendFields will be sent to the server regardless of whether the
	// field is empty or not. This may be used to include empty fields in
	// Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1BatchImportModelEvaluationSlicesRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1BatchImportModelEvaluationSlicesRequest
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any non-pointer, non-interface field
	// appearing in ForceSendFields will be sent to the server regardless of
	// whether the field is empty or not. This may be used to include empty
	// fields in Patch requests.
	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. However, any field with an empty value appearing
	// in NullFields will be sent to the server as null. It is an error if a
	// field in this list has a non-empty value. This may be used to include
	// null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1BatchImportModelEvaluationSlicesResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1BatchImportModelEvaluationSlicesResponse
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

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

// GoogleCloudAiplatformV1BatchMigrateResourcesOperationMetadataPartialRe
// sult: 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1BatchMigrateResourcesOperationMetadataPartialResult) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1BatchMigrateResourcesOperationMetadataPartialResult
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any non-pointer, non-interface field
	// appearing in ForceSendFields will be sent to the server regardless of
	// whether the field is empty or not. This may be used to include empty
	// fields in Patch requests.
	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. However, any
	// field with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1BatchMigrateResourcesRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1BatchMigrateResourcesRequest
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any non-pointer, non-interface field
	// appearing in ForceSendFields will be sent to the server regardless of
	// whether the field is empty or not. This may be used to include empty
	// fields in Patch requests.
	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. However, any
	// field with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1BatchMigrateResourcesResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1BatchMigrateResourcesResponse
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1BatchPredictionJob) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1BatchPredictionJob
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1BatchPredictionJobInputConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1BatchPredictionJobInputConfig
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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, CSV, 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, CSV, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1BatchPredictionJobInstanceConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1BatchPredictionJobInstanceConfig
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1BatchPredictionJobOutputConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1BatchPredictionJobOutputConfig
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any non-pointer, non-interface field appearing in
	// ForceSendFields will be sent to the server regardless of whether the
	// field is empty or not. This may be used to include empty fields in
	// Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1BatchPredictionJobOutputInfo) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1BatchPredictionJobOutputInfo
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1BatchReadFeatureValuesOperationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1BatchReadFeatureValuesOperationMetadata
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any non-pointer, non-interface field appearing in
	// ForceSendFields will be sent to the server regardless of whether the
	// field is empty or not. This may be used to include empty fields in
	// Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1BatchReadFeatureValuesRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1BatchReadFeatureValuesRequest
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with
	// an empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1BatchReadFeatureValuesRequestEntityTypeSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1BatchReadFeatureValuesRequestEntityTypeSpec
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1BatchReadFeatureValuesRequestPassThroughField) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1BatchReadFeatureValuesRequestPassThroughField
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1BatchReadTensorboardTimeSeriesDataResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1BatchReadTensorboardTimeSeriesDataResponse
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1BigQueryDestination) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1BigQueryDestination
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1BigQuerySource) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1BigQuerySource
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with
	// an empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1BlurBaselineConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1BlurBaselineConfig
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1BoolArray) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1BoolArray
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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 {
}

// 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1CheckTrialEarlyStoppingStateMetatdata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1CheckTrialEarlyStoppingStateMetatdata
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1CheckTrialEarlyStoppingStateResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1CheckTrialEarlyStoppingStateResponse
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1CompleteTrialRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1CompleteTrialRequest
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with
	// an empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1CompletionStats) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1CompletionStats
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ContainerRegistryDestination) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ContainerRegistryDestination
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ContainerSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ContainerSpec
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1Context) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1Context
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1CopyModelOperationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1CopyModelOperationMetadata
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1CopyModelRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1CopyModelRequest
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1CopyModelResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1CopyModelResponse
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1CreateDatasetOperationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1CreateDatasetOperationMetadata
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1CreateDatasetVersionOperationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1CreateDatasetVersionOperationMetadata
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1CreateEndpointOperationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1CreateEndpointOperationMetadata
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1CreateEntityTypeOperationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1CreateEntityTypeOperationMetadata
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1CreateFeatureOperationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1CreateFeatureOperationMetadata
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1CreateFeatureRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1CreateFeatureRequest
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1CreateFeaturestoreOperationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1CreateFeaturestoreOperationMetadata
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1CreateIndexEndpointOperationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1CreateIndexEndpointOperationMetadata
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1CreateIndexOperationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1CreateIndexOperationMetadata
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1CreateMetadataStoreOperationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1CreateMetadataStoreOperationMetadata
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1CreateNotebookRuntimeTemplateOperationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1CreateNotebookRuntimeTemplateOperationMetadata
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1CreatePipelineJobRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1CreatePipelineJobRequest
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1CreateSpecialistPoolOperationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1CreateSpecialistPoolOperationMetadata
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1CreateTensorboardOperationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1CreateTensorboardOperationMetadata
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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}/ex
	// periments/{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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1CreateTensorboardRunRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1CreateTensorboardRunRequest
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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}/ex
	// periments/{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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1CreateTensorboardTimeSeriesRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1CreateTensorboardTimeSeriesRequest
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1CsvDestination) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1CsvDestination
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1CsvSource) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1CsvSource
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1CustomJob) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1CustomJob
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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/{metadataStore
	// s}/contexts/{experiment-name}`
	Experiment string `json:"experiment,omitempty"`

	// ExperimentRun: Optional. The Experiment Run associated with this job.
	// Format:
	// `projects/{project}/locations/{location}/metadataStores/{metadataStore
	// s}/contexts/{experiment-name}-{experiment-run-name}`
	ExperimentRun string `json:"experimentRun,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"`

	// 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1CustomJobSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1CustomJobSpec
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1DataItem) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1DataItem
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with
	// an empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1DataItemView) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1DataItemView
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any non-pointer, non-interface field appearing in
	// ForceSendFields will be sent to the server regardless of whether the
	// field is empty or not. This may be used to include empty fields in
	// Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1DataLabelingJob) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1DataLabelingJob
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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_stor
	// e}/artifacts/{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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1Dataset) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1Dataset
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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"`

	// Etag: Used to perform consistent read-modify-write updates. If not
	// set, a blind "overwrite" update happens.
	Etag string `json:"etag,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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1DatasetVersion) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1DatasetVersion
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any non-pointer, non-interface field appearing in
	// ForceSendFields will be sent to the server regardless of whether the
	// field is empty or not. This may be used to include empty fields in
	// Patch requests.
	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. However, any
	// field with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1DedicatedResources) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1DedicatedResources
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1DeleteFeatureValuesOperationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1DeleteFeatureValuesOperationMetadata
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with
	// an empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1DeleteFeatureValuesRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1DeleteFeatureValuesRequest
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

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

// GoogleCloudAiplatformV1DeleteFeatureValuesRequestSelectTimeRangeAndFea
// ture: 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1DeleteFeatureValuesRequestSelectTimeRangeAndFeature) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1DeleteFeatureValuesRequestSelectTimeRangeAndFeature
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with
	// an empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1DeleteFeatureValuesResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1DeleteFeatureValuesResponse
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any non-pointer, non-interface
	// field appearing in ForceSendFields will be sent to the server
	// regardless of whether the field is empty or not. This may be used to
	// include empty fields in Patch requests.
	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. However, any field with an empty value
	// appearing in NullFields will be sent to the server as null. It is an
	// error if a field in this list has a non-empty value. This may be used
	// to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

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

// GoogleCloudAiplatformV1DeleteFeatureValuesResponseSelectTimeRangeAndFe
// ature: 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. However, any non-pointer, non-interface field appearing in
	// ForceSendFields will be sent to the server regardless of whether the
	// field is empty or not. This may be used to include empty fields in
	// Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1DeleteFeatureValuesResponseSelectTimeRangeAndFeature) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1DeleteFeatureValuesResponseSelectTimeRangeAndFeature
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1DeleteMetadataStoreOperationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1DeleteMetadataStoreOperationMetadata
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1DeleteOperationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1DeleteOperationMetadata
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1DeployIndexOperationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1DeployIndexOperationMetadata
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with
	// an empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1DeployIndexRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1DeployIndexRequest
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with
	// an empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1DeployIndexResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1DeployIndexResponse
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1DeployModelOperationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1DeployModelOperationMetadata
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with
	// an empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1DeployModelRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1DeployModelRequest
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with
	// an empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1DeployModelResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1DeployModelResponse
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. 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. 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1DeployedIndex) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1DeployedIndex
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with
	// an empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1DeployedIndexAuthConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1DeployedIndexAuthConfig
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1DeployedIndexAuthConfigAuthProvider) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1DeployedIndexAuthConfigAuthProvider
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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"`

	// 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1DeployedIndexRef) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1DeployedIndexRef
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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"`

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

	// 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1DeployedModel) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1DeployedModel
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1DeployedModelRef) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1DeployedModelRef
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1DestinationFeatureSetting) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1DestinationFeatureSetting
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1DiskSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1DiskSpec
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1DoubleArray) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1DoubleArray
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1EncryptionSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1EncryptionSpec
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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"`

	// 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1Endpoint) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1Endpoint
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1EntityIdSelector) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1EntityIdSelector
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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}/
	// entityTypes/{entity_type}` The last part entity_type is assigned by
	// the client. The entity_type can be up to 64 characters long and can
	// consist only of ASCII Latin letters A-Z and a-z and underscore(_),
	// and ASCII digits 0-9 starting with a letter. The value will be unique
	// given a featurestore.
	Name string `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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1EntityType) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1EntityType
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1EnvVar) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1EnvVar
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ErrorAnalysisAnnotation) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ErrorAnalysisAnnotation
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any non-pointer, non-interface field appearing in
	// ForceSendFields will be sent to the server regardless of whether the
	// field is empty or not. This may be used to include empty fields in
	// Patch requests.
	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. However, any
	// field with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ErrorAnalysisAnnotationAttributedItem) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ErrorAnalysisAnnotationAttributedItem
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1EvaluatedAnnotation) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1EvaluatedAnnotation
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with
	// an empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1EvaluatedAnnotationExplanation) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1EvaluatedAnnotationExplanation
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1Event) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1Event
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1Examples) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1Examples
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ExamplesExampleGcsSource) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ExamplesExampleGcsSource
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with
	// an empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ExamplesOverride) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ExamplesOverride
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ExamplesRestrictionsNamespace) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ExamplesRestrictionsNamespace
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1Execution) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1Execution
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ExplainRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ExplainRequest
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ExplainResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ExplainResponse
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with
	// an empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1Explanation) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1Explanation
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any non-pointer, non-interface field
	// appearing in ForceSendFields will be sent to the server regardless of
	// whether the field is empty or not. This may be used to include empty
	// fields in Patch requests.
	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. However, any field with an empty value appearing
	// in NullFields will be sent to the server as null. It is an error if a
	// field in this list has a non-empty value. This may be used to include
	// null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ExplanationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ExplanationMetadata
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any non-pointer, non-interface field appearing in
	// ForceSendFields will be sent to the server regardless of whether the
	// field is empty or not. This may be used to include empty fields in
	// Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

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

// GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDom
// ain: 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomain) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomain
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any non-pointer, non-interface field appearing in
	// ForceSendFields will be sent to the server regardless of whether the
	// field is empty or not. This may be used to include empty fields in
	// Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualization) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualization
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any non-pointer, non-interface field appearing in
	// ForceSendFields will be sent to the server regardless of whether the
	// field is empty or not. This may be used to include empty fields in
	// Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ExplanationMetadataOutputMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ExplanationMetadataOutputMetadata
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

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

// GoogleCloudAiplatformV1ExplanationMetadataOverrideInputMetadataOverrid
// e: 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ExplanationMetadataOverrideInputMetadataOverride) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ExplanationMetadataOverrideInputMetadataOverride
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ExplanationParameters) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ExplanationParameters
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ExplanationSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ExplanationSpec
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ExplanationSpecOverride) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ExplanationSpecOverride
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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 {
	// 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"`

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

	// ForceSendFields is a list of field names (e.g. "AnnotationsFilter")
	// to unconditionally include in API requests. By default, fields with
	// empty or default values are omitted from API requests. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	ForceSendFields []string `json:"-"`

	// NullFields is a list of field names (e.g. "AnnotationsFilter") to
	// include in API requests with the JSON null value. By default, fields
	// with empty values are omitted from API requests. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ExportDataConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ExportDataConfig
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ExportDataOperationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ExportDataOperationMetadata
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with
	// an empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

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

// GoogleCloudAiplatformV1ExportDataResponse: Response message for
// DatasetService.ExportData.
type GoogleCloudAiplatformV1ExportDataResponse struct {
	// ExportedFiles: All of the files that are exported in this export
	// operation.
	ExportedFiles []string `json:"exportedFiles,omitempty"`

	// ForceSendFields is a list of field names (e.g. "ExportedFiles") to
	// unconditionally include in API requests. By default, fields with
	// empty or default values are omitted from API requests. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	ForceSendFields []string `json:"-"`

	// NullFields is a list of field names (e.g. "ExportedFiles") to include
	// in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. However, any field with
	// an empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ExportDataResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ExportDataResponse
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ExportFeatureValuesOperationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ExportFeatureValuesOperationMetadata
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with
	// an empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ExportFeatureValuesRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ExportFeatureValuesRequest
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ExportFeatureValuesRequestFullExport) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ExportFeatureValuesRequestFullExport
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with
	// an empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ExportFeatureValuesRequestSnapshotExport) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ExportFeatureValuesRequestSnapshotExport
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ExportFilterSplit) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ExportFilterSplit
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with
	// an empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ExportFractionSplit) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ExportFractionSplit
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ExportModelOperationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ExportModelOperationMetadata
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ExportModelOperationMetadataOutputInfo) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ExportModelOperationMetadataOutputInfo
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with
	// an empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ExportModelRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ExportModelRequest
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ExportModelRequestOutputConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ExportModelRequestOutputConfig
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ExportTensorboardTimeSeriesDataRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ExportTensorboardTimeSeriesDataRequest
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with
	// an empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

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

// GoogleCloudAiplatformV1Feature: Feature Metadata information that
// describes an attribute of an entity type. For example, apple is an
// entity type, and color is a feature that describes apple.
type GoogleCloudAiplatformV1Feature struct {
	// CreateTime: Output only. Timestamp when this EntityType was created.
	CreateTime string `json:"createTime,omitempty"`

	// Description: Description of the Feature.
	Description string `json:"description,omitempty"`

	// DisableMonitoring: Optional. 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. 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}/
	// entityTypes/{entity_type}/features/{feature}` The last part feature
	// is assigned by the client. The feature can be up to 64 characters
	// long and can consist only of ASCII Latin letters A-Z and a-z,
	// underscore(_), and ASCII digits 0-9 starting with a letter. The value
	// will be unique given an entity type.
	Name string `json:"name,omitempty"`

	// UpdateTime: Output only. Timestamp when this EntityType was most
	// recently updated.
	UpdateTime string `json:"updateTime,omitempty"`

	// ValueType: Immutable. 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"`

	// 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1Feature) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1Feature
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1FeatureMonitoringStatsAnomaly) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1FeatureMonitoringStatsAnomaly
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1FeatureNoiseSigma) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1FeatureNoiseSigma
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1FeatureNoiseSigmaNoiseSigmaForFeature) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1FeatureNoiseSigmaNoiseSigmaForFeature
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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
}

// 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1FeatureSelector) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1FeatureSelector
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any non-pointer, non-interface field
	// appearing in ForceSendFields will be sent to the server regardless of
	// whether the field is empty or not. This may be used to include empty
	// fields in Patch requests.
	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. However, any field with an empty value appearing in
	// NullFields will be sent to the server as null. It is an error if a
	// field in this list has a non-empty value. This may be used to include
	// null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1FeatureStatsAnomaly) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1FeatureStatsAnomaly
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1FeatureValue) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1FeatureValue
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1FeatureValueDestination) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1FeatureValueDestination
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1FeatureValueList) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1FeatureValueList
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with
	// an empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1FeatureValueMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1FeatureValueMetadata
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1Featurestore) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1Featurestore
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any non-pointer, non-interface field
	// appearing in ForceSendFields will be sent to the server regardless of
	// whether the field is empty or not. This may be used to include empty
	// fields in Patch requests.
	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. However, any field with an empty value appearing
	// in NullFields will be sent to the server as null. It is an error if a
	// field in this list has a non-empty value. This may be used to include
	// null fields in Patch requests.
	NullFields []string `json:"-"`
}

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

// GoogleCloudAiplatformV1FeaturestoreMonitoringConfigImportFeaturesAnaly
// sis: 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. However, any non-pointer, non-interface field
	// appearing in ForceSendFields will be sent to the server regardless of
	// whether the field is empty or not. This may be used to include empty
	// fields in Patch requests.
	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. However, any
	// field with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1FeaturestoreMonitoringConfigImportFeaturesAnalysis) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1FeaturestoreMonitoringConfigImportFeaturesAnalysis
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1FeaturestoreMonitoringConfigSnapshotAnalysis) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1FeaturestoreMonitoringConfigSnapshotAnalysis
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1FeaturestoreMonitoringConfigThresholdConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1FeaturestoreMonitoringConfigThresholdConfig
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1FeaturestoreOnlineServingConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1FeaturestoreOnlineServingConfig
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any non-pointer, non-interface field appearing in
	// ForceSendFields will be sent to the server regardless of whether the
	// field is empty or not. This may be used to include empty fields in
	// Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1FeaturestoreOnlineServingConfigScaling) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1FeaturestoreOnlineServingConfigScaling
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1FilterSplit) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1FilterSplit
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1FindNeighborsRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1FindNeighborsRequest
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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"`

	// 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. However, any non-pointer, non-interface field
	// appearing in ForceSendFields will be sent to the server regardless of
	// whether the field is empty or not. This may be used to include empty
	// fields in Patch requests.
	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. However, any
	// field with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1FindNeighborsRequestQuery) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1FindNeighborsRequestQuery
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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
}

// 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1FindNeighborsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1FindNeighborsResponse
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1FindNeighborsResponseNearestNeighbors) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1FindNeighborsResponseNearestNeighbors
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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 query vector.
	Distance float64 `json:"distance,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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

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

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

// 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with
	// an empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1FractionSplit) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1FractionSplit
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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
}

// 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1GcsDestination) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1GcsDestination
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

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

// GoogleCloudAiplatformV1GenericOperationMetadata: Generic Metadata
// shared by all operations.
type GoogleCloudAiplatformV1GenericOperationMetadata struct {
	// CreateTime: Output only. Time when the operation was created.
	CreateTime string `json:"createTime,omitempty"`

	// PartialFailures: Output only. Partial failures encountered. E.g.
	// single files that couldn't be read. This field should never exceed 20
	// entries. Status details field will contain standard Google Cloud
	// error details.
	PartialFailures []*GoogleRpcStatus `json:"partialFailures,omitempty"`

	// UpdateTime: Output only. Time when the operation was updated for the
	// last time. If the operation has finished (successfully or not), this
	// is the finish time.
	UpdateTime string `json:"updateTime,omitempty"`

	// ForceSendFields is a list of field names (e.g. "CreateTime") to
	// unconditionally include in API requests. By default, fields with
	// empty or default values are omitted from API requests. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1GenericOperationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1GenericOperationMetadata
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1HyperparameterTuningJob) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1HyperparameterTuningJob
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1IdMatcher) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1IdMatcher
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ImportDataConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ImportDataConfig
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ImportDataOperationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ImportDataOperationMetadata
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with
	// an empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ImportDataRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ImportDataRequest
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any non-pointer, non-interface field appearing in
	// ForceSendFields will be sent to the server regardless of whether the
	// field is empty or not. This may be used to include empty fields in
	// Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ImportFeatureValuesOperationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ImportFeatureValuesOperationMetadata
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ImportFeatureValuesRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ImportFeatureValuesRequest
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ImportFeatureValuesRequestFeatureSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ImportFeatureValuesRequestFeatureSpec
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ImportFeatureValuesResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ImportFeatureValuesResponse
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ImportModelEvaluationRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ImportModelEvaluationRequest
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1Index) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1Index
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. An array of
	// numbers with the length of [NearestNeighborSearchConfig.dimensions].
	FeatureVector []float64 `json:"featureVector,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"`

	// 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with
	// an empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1IndexDatapoint) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1IndexDatapoint
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

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

// 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

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

// 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1IndexEndpoint) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1IndexEndpoint
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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"`

	// 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1IndexPrivateEndpoints) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1IndexPrivateEndpoints
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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"`

	// VectorsCount: Output only. The number of 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with
	// an empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1IndexStats) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1IndexStats
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1InputDataConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1InputDataConfig
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1Int64Array) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1Int64Array
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1IntegratedGradientsAttribution) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1IntegratedGradientsAttribution
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1LargeModelReference) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1LargeModelReference
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1LineageSubgraph) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1LineageSubgraph
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with
	// an empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ListAnnotationsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListAnnotationsResponse
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ListArtifactsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListArtifactsResponse
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ListBatchPredictionJobsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListBatchPredictionJobsResponse
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ListContextsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListContextsResponse
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ListCustomJobsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListCustomJobsResponse
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ListDataItemsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListDataItemsResponse
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ListDataLabelingJobsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListDataLabelingJobsResponse
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ListDatasetVersionsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListDatasetVersionsResponse
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ListDatasetsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListDatasetsResponse
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ListEndpointsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListEndpointsResponse
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with
	// an empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ListEntityTypesResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListEntityTypesResponse
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ListExecutionsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListExecutionsResponse
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ListFeaturesResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListFeaturesResponse
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with
	// an empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ListFeaturestoresResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListFeaturestoresResponse
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any non-pointer, non-interface field
	// appearing in ForceSendFields will be sent to the server regardless of
	// whether the field is empty or not. This may be used to include empty
	// fields in Patch requests.
	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. However, any
	// field with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ListHyperparameterTuningJobsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListHyperparameterTuningJobsResponse
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ListIndexEndpointsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListIndexEndpointsResponse
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ListIndexesResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListIndexesResponse
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ListMetadataSchemasResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListMetadataSchemasResponse
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ListMetadataStoresResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListMetadataStoresResponse
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any non-pointer, non-interface field
	// appearing in ForceSendFields will be sent to the server regardless of
	// whether the field is empty or not. This may be used to include empty
	// fields in Patch requests.
	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. However, any field with an empty value appearing
	// in NullFields will be sent to the server as null. It is an error if a
	// field in this list has a non-empty value. This may be used to include
	// null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ListModelDeploymentMonitoringJobsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListModelDeploymentMonitoringJobsResponse
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any non-pointer, non-interface field appearing in
	// ForceSendFields will be sent to the server regardless of whether the
	// field is empty or not. This may be used to include empty fields in
	// Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ListModelEvaluationSlicesResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListModelEvaluationSlicesResponse
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ListModelEvaluationsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListModelEvaluationsResponse
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ListModelVersionsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListModelVersionsResponse
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ListModelsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListModelsResponse
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ListNasJobsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListNasJobsResponse
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ListNasTrialDetailsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListNasTrialDetailsResponse
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with
	// an empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ListNotebookRuntimeTemplatesResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListNotebookRuntimeTemplatesResponse
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with
	// an empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ListNotebookRuntimesResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListNotebookRuntimesResponse
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with
	// an empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ListOptimalTrialsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListOptimalTrialsResponse
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with
	// an empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ListPipelineJobsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListPipelineJobsResponse
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with
	// an empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ListSavedQueriesResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListSavedQueriesResponse
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with
	// an empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ListSchedulesResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListSchedulesResponse
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with
	// an empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ListSpecialistPoolsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListSpecialistPoolsResponse
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with
	// an empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ListStudiesResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListStudiesResponse
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with
	// an empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ListTensorboardExperimentsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListTensorboardExperimentsResponse
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with
	// an empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ListTensorboardRunsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListTensorboardRunsResponse
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with
	// an empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ListTensorboardTimeSeriesResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListTensorboardTimeSeriesResponse
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with
	// an empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ListTensorboardsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListTensorboardsResponse
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with
	// an empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ListTrainingPipelinesResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListTrainingPipelinesResponse
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with
	// an empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ListTrialsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ListTrialsResponse
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with
	// an empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1LookupStudyRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1LookupStudyRequest
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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.
	//   "TPU_V2" - TPU v2.
	//   "TPU_V3" - TPU v3.
	//   "TPU_V4_POD" - TPU v4.
	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"`

	// 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1MachineSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1MachineSpec
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ManualBatchTuningParameters) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ManualBatchTuningParameters
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1Measurement) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1Measurement
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1MeasurementMetric) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1MeasurementMetric
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1MergeVersionAliasesRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1MergeVersionAliasesRequest
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1MetadataSchema) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1MetadataSchema
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1MetadataStore) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1MetadataStore
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any non-pointer, non-interface field appearing in
	// ForceSendFields will be sent to the server regardless of whether the
	// field is empty or not. This may be used to include empty fields in
	// Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1MetadataStoreMetadataStoreState) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1MetadataStoreMetadataStoreState
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with
	// an empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1MigratableResource) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1MigratableResource
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1MigratableResourceAutomlDataset) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1MigratableResourceAutomlDataset
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1MigratableResourceAutomlModel) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1MigratableResourceAutomlModel
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any non-pointer, non-interface field
	// appearing in ForceSendFields will be sent to the server regardless of
	// whether the field is empty or not. This may be used to include empty
	// fields in Patch requests.
	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. However, any field with an empty value appearing
	// in NullFields will be sent to the server as null. It is an error if a
	// field in this list has a non-empty value. This may be used to include
	// null fields in Patch requests.
	NullFields []string `json:"-"`
}

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

// GoogleCloudAiplatformV1MigratableResourceDataLabelingDatasetDataLabeli
// ngAnnotatedDataset: 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_da
	// taset}`.
	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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1MigratableResourceDataLabelingDatasetDataLabelingAnnotatedDataset) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1MigratableResourceDataLabelingDatasetDataLabelingAnnotatedDataset
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1MigratableResourceMlEngineModelVersion) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1MigratableResourceMlEngineModelVersion
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any non-pointer, non-interface field
	// appearing in ForceSendFields will be sent to the server regardless of
	// whether the field is empty or not. This may be used to include empty
	// fields in Patch requests.
	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. However, any field with an empty value appearing
	// in NullFields will be sent to the server as null. It is an error if a
	// field in this list has a non-empty value. This may be used to include
	// null fields in Patch requests.
	NullFields []string `json:"-"`
}

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

// GoogleCloudAiplatformV1MigrateResourceRequestMigrateAutomlDatasetConfi
// g: 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1MigrateResourceRequestMigrateAutomlDatasetConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1MigrateResourceRequestMigrateAutomlDatasetConfig
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

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

// GoogleCloudAiplatformV1MigrateResourceRequestMigrateDataLabelingDatase
// tConfig: 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

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

// GoogleCloudAiplatformV1MigrateResourceRequestMigrateDataLabelingDatase
// tConfigMigrateDataLabelingAnnotatedDatasetConfig: 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_da
	// taset}`.
	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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

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

// GoogleCloudAiplatformV1MigrateResourceRequestMigrateMlEngineModelVersi
// onConfig: 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1MigrateResourceRequestMigrateMlEngineModelVersionConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1MigrateResourceRequestMigrateMlEngineModelVersionConfig
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1MigrateResourceResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1MigrateResourceResponse
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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 present for
	// AutoML Models or Large Models.
	ArtifactUri string `json:"artifactUri,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 present for AutoML
	// Models or Large Models.
	ContainerSpec *GoogleCloudAiplatformV1ModelContainerSpec `json:"containerSpec,omitempty"`

	// CreateTime: Output only. Timestamp when this Model was uploaded into
	// Vertex AI.
	CreateTime string `json:"createTime,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_stor
	// e}/artifacts/{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
	// existing Vertex AI Model.
	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_al
	// ias}` 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with
	// an empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1Model) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1Model
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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"`

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

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

	// 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ModelContainerSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ModelContainerSpec
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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"`

	// 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ModelDeploymentMonitoringBigQueryTable) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ModelDeploymentMonitoringBigQueryTable
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any non-pointer, non-interface field
	// appearing in ForceSendFields will be sent to the server regardless of
	// whether the field is empty or not. This may be used to include empty
	// fields in Patch requests.
	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. However, any field with an empty value appearing in
	// NullFields will be sent to the server as null. It is an error if a
	// field in this list has a non-empty value. This may be used to include
	// null fields in Patch requests.
	NullFields []string `json:"-"`
}

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

// GoogleCloudAiplatformV1ModelDeploymentMonitoringJobLatestMonitoringPip
// elineMetadata: 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ModelDeploymentMonitoringJobLatestMonitoringPipelineMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ModelDeploymentMonitoringJobLatestMonitoringPipelineMetadata
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ModelDeploymentMonitoringObjectiveConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ModelDeploymentMonitoringObjectiveConfig
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ModelDeploymentMonitoringScheduleConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ModelDeploymentMonitoringScheduleConfig
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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".
	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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ModelEvaluation) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ModelEvaluation
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ModelEvaluationModelEvaluationExplanationSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ModelEvaluationModelEvaluationExplanationSpec
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ModelEvaluationSlice) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ModelEvaluationSlice
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ModelEvaluationSliceSlice) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ModelEvaluationSliceSlice
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpec
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpecRange) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpecRange
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpecSliceConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpecSliceConfig
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpecValue) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ModelEvaluationSliceSliceSliceSpecValue
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ModelExplanation) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ModelExplanation
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

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

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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ModelMonitoringAlertConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ModelMonitoringAlertConfig
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ModelMonitoringAlertConfigEmailAlertConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ModelMonitoringAlertConfigEmailAlertConfig
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ModelMonitoringObjectiveConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ModelMonitoringObjectiveConfig
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any non-pointer, non-interface field
	// appearing in ForceSendFields will be sent to the server regardless of
	// whether the field is empty or not. This may be used to include empty
	// fields in Patch requests.
	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. However, any
	// field with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

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

// GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigExplanationConfig
// ExplanationBaseline: 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

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

// GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigPredictionDriftDe
// tectionConfig: 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. However, any non-pointer, non-interface field
	// appearing in ForceSendFields will be sent to the server regardless of
	// whether the field is empty or not. This may be used to include empty
	// fields in Patch requests.
	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. However, any field with an empty value appearing
	// in NullFields will be sent to the server as null. It is an error if a
	// field in this list has a non-empty value. This may be used to include
	// null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfig
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

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

// GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingPredictio
// nSkewDetectionConfig: 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. However, any non-pointer, non-interface field
	// appearing in ForceSendFields will be sent to the server regardless of
	// whether the field is empty or not. This may be used to include empty
	// fields in Patch requests.
	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. However, any field with an empty value appearing
	// in NullFields will be sent to the server as null. It is an error if a
	// field in this list has a non-empty value. This may be used to include
	// null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfig
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with
	// an empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

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

// GoogleCloudAiplatformV1ModelMonitoringStatsAnomaliesFeatureHistoricSta
// tsAnomalies: 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ModelMonitoringStatsAnomaliesFeatureHistoricStatsAnomalies) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ModelMonitoringStatsAnomaliesFeatureHistoricStatsAnomalies
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ModelOriginalModelInfo) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ModelOriginalModelInfo
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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.
	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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ModelSourceInfo) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ModelSourceInfo
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1MutateDeployedIndexOperationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1MutateDeployedIndexOperationMetadata
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with
	// an empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1MutateDeployedIndexResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1MutateDeployedIndexResponse
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1MutateDeployedModelOperationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1MutateDeployedModelOperationMetadata
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with
	// an empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1MutateDeployedModelRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1MutateDeployedModelRequest
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with
	// an empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1MutateDeployedModelResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1MutateDeployedModelResponse
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1NasJob) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1NasJob
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1NasJobOutput) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1NasJobOutput
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with
	// an empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1NasJobOutputMultiTrialJobOutput) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1NasJobOutputMultiTrialJobOutput
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any non-pointer, non-interface field
	// appearing in ForceSendFields will be sent to the server regardless of
	// whether the field is empty or not. This may be used to include empty
	// fields in Patch requests.
	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. However, any
	// field with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1NasJobSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1NasJobSpec
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1NasJobSpecMultiTrialAlgorithmSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1NasJobSpecMultiTrialAlgorithmSpec
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

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

// GoogleCloudAiplatformV1NasJobSpecMultiTrialAlgorithmSpecSearchTrialSpe
// c: 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1NasJobSpecMultiTrialAlgorithmSpecSearchTrialSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1NasJobSpecMultiTrialAlgorithmSpecSearchTrialSpec
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1NasJobSpecMultiTrialAlgorithmSpecTrainTrialSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1NasJobSpecMultiTrialAlgorithmSpecTrainTrialSpec
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1NasTrial) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1NasTrial
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1NasTrialDetail) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1NasTrialDetail
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any non-pointer, non-interface field appearing in
	// ForceSendFields will be sent to the server regardless of whether the
	// field is empty or not. This may be used to include empty fields in
	// Patch requests.
	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. However, any
	// field with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1NearestNeighborSearchOperationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1NearestNeighborSearchOperationMetadata
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1NearestNeighborSearchOperationMetadataContentValidationStats) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1NearestNeighborSearchOperationMetadataContentValidationStats
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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 embedding vectors does
	// not match with the specified dimension.
	//   "NAMESPACE_MISSING" - The `namespace` field is missing.
	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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with
	// an empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

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

// 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1Neighbor) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1Neighbor
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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/{subnetw
	// ork_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. However, any non-pointer, non-interface field appearing in
	// ForceSendFields will be sent to the server regardless of whether the
	// field is empty or not. This may be used to include empty fields in
	// Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1NetworkSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1NetworkSpec
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1NfsMount) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1NfsMount
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1NotebookEucConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1NotebookEucConfig
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any non-pointer, non-interface field appearing in
	// ForceSendFields will be sent to the server regardless of whether the
	// field is empty or not. This may be used to include empty fields in
	// Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1NotebookIdleShutdownConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1NotebookIdleShutdownConfig
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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"`

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

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

	// 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.
	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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1NotebookRuntime) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1NotebookRuntime
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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: Output only. The resource name of the NotebookRuntimeTemplate.
	Name string `json:"name,omitempty"`

	// NetworkSpec: Optional. Network spec.
	NetworkSpec *GoogleCloudAiplatformV1NetworkSpec `json:"networkSpec,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"`

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

	// 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1NotebookRuntimeTemplate) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1NotebookRuntimeTemplate
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any non-pointer, non-interface field
	// appearing in ForceSendFields will be sent to the server regardless of
	// whether the field is empty or not. This may be used to include empty
	// fields in Patch requests.
	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. However, any
	// field with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1NotebookRuntimeTemplateRef) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1NotebookRuntimeTemplateRef
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1PersistentDiskSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PersistentDiskSpec
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1PipelineJob) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PipelineJob
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1PipelineJobDetail) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PipelineJobDetail
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with
	// an empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1PipelineJobRuntimeConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PipelineJobRuntimeConfig
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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/artifa
	// cts/{artifact_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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifact) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifact
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1PipelineTaskDetail) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PipelineTaskDetail
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1PipelineTaskDetailArtifactList) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PipelineTaskDetailArtifactList
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1PipelineTaskDetailPipelineTaskStatus) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PipelineTaskDetailPipelineTaskStatus
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1PipelineTaskExecutorDetail) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PipelineTaskExecutorDetail
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1PipelineTaskExecutorDetailContainerDetail) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PipelineTaskExecutorDetailContainerDetail
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1PipelineTaskExecutorDetailCustomJobDetail) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PipelineTaskExecutorDetailCustomJobDetail
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1PipelineTemplateMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PipelineTemplateMetadata
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with
	// an empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1Port) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1Port
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1PredefinedSplit) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PredefinedSplit
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1PredictRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PredictRequest
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1PredictRequestResponseLoggingConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PredictRequestResponseLoggingConfig
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1PredictResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PredictResponse
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1PredictSchemata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PredictSchemata
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1Presets) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1Presets
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1PrivateEndpoints) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PrivateEndpoints
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any non-pointer, non-interface field
	// appearing in ForceSendFields will be sent to the server regardless of
	// whether the field is empty or not. This may be used to include empty
	// fields in Patch requests.
	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. However, any field with an empty value appearing
	// in NullFields will be sent to the server as null. It is an error if a
	// field in this list has a non-empty value. This may be used to include
	// null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1PrivateServiceConnectConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PrivateServiceConnectConfig
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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.
	//   "PRIVATE_PREVIEW" - Used to indicate the PublisherModel is at
	// Private Preview launch stage.
	//   "PUBLIC_PREVIEW" - Used to indicate the PublisherModel is at Public
	// Preview launch stage.
	//   "GA" - Used to indicate the PublisherModel is at GA launch stage.
	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"`

	// 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1PublisherModel) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PublisherModel
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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"`

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

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

	// 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1PublisherModelCallToAction) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PublisherModelCallToAction
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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"`

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

	// SharedResources: The resource name of the shared
	// DeploymentResourcePool to deploy on. Format:
	// `projects/{project}/locations/{location}/deploymentResourcePools/{depl
	// oyment_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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with
	// an empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

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

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

	// Title: Required. The title of the regional resource reference.
	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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PublisherModelCallToActionRegionalResourceReferences
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1PublisherModelCallToActionViewRestApi) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PublisherModelCallToActionViewRestApi
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

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

// GoogleCloudAiplatformV1PublisherModelResourceReference: Reference to
// a resource.
type GoogleCloudAiplatformV1PublisherModelResourceReference struct {
	// 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"`

	// ForceSendFields is a list of field names (e.g. "ResourceName") to
	// unconditionally include in API requests. By default, fields with
	// empty or default values are omitted from API requests. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	ForceSendFields []string `json:"-"`

	// NullFields is a list of field names (e.g. "ResourceName") to include
	// in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. However, any field with
	// an empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1PublisherModelResourceReference) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PublisherModelResourceReference
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1PurgeArtifactsMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PurgeArtifactsMetadata
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1PurgeArtifactsRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PurgeArtifactsRequest
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1PurgeArtifactsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PurgeArtifactsResponse
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1PurgeContextsMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PurgeContextsMetadata
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1PurgeContextsRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PurgeContextsRequest
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1PurgeContextsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PurgeContextsResponse
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1PurgeExecutionsMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PurgeExecutionsMetadata
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1PurgeExecutionsRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PurgeExecutionsRequest
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1PurgeExecutionsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PurgeExecutionsResponse
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1PythonPackageSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1PythonPackageSpec
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

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

// GoogleCloudAiplatformV1ReadFeatureValuesRequest: Request message for
// FeaturestoreOnlineServingService.ReadFeatureValues.
type GoogleCloudAiplatformV1ReadFeatureValuesRequest struct {
	// EntityId: Required. ID for a specific entity. For example, for a
	// machine learning model predicting user clicks on a website, an entity
	// ID could be `user_123`.
	EntityId string `json:"entityId,omitempty"`

	// FeatureSelector: Required. Selector choosing Features of the target
	// EntityType.
	FeatureSelector *GoogleCloudAiplatformV1FeatureSelector `json:"featureSelector,omitempty"`

	// ForceSendFields is a list of field names (e.g. "EntityId") to
	// unconditionally include in API requests. By default, fields with
	// empty or default values are omitted from API requests. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ReadFeatureValuesRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ReadFeatureValuesRequest
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ReadFeatureValuesResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ReadFeatureValuesResponse
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ReadFeatureValuesResponseEntityView) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ReadFeatureValuesResponseEntityView
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ReadFeatureValuesResponseEntityViewData) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ReadFeatureValuesResponseEntityViewData
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ReadFeatureValuesResponseFeatureDescriptor) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ReadFeatureValuesResponseFeatureDescriptor
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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}/
	// entityTypes/{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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ReadFeatureValuesResponseHeader) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ReadFeatureValuesResponseHeader
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ReadIndexDatapointsRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ReadIndexDatapointsRequest
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ReadIndexDatapointsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ReadIndexDatapointsResponse
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ReadTensorboardBlobDataResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ReadTensorboardBlobDataResponse
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ReadTensorboardSizeResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ReadTensorboardSizeResponse
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ReadTensorboardTimeSeriesDataResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ReadTensorboardTimeSeriesDataResponse
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ReadTensorboardUsageResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ReadTensorboardUsageResponse
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with
	// an empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ReadTensorboardUsageResponsePerMonthUsageData) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ReadTensorboardUsageResponsePerMonthUsageData
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

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

// 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with
	// an empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1RemoveContextChildrenRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1RemoveContextChildrenRequest
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with
	// an empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1RemoveDatapointsRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1RemoveDatapointsRequest
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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:"-"`
}

// 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with
	// an empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ResourcesConsumed) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ResourcesConsumed
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1RestoreDatasetVersionOperationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1RestoreDatasetVersionOperationMetadata
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ResumeScheduleRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ResumeScheduleRequest
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any non-pointer, non-interface field
	// appearing in ForceSendFields will be sent to the server regardless of
	// whether the field is empty or not. This may be used to include empty
	// fields in Patch requests.
	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. However, any field with an empty value appearing
	// in NullFields will be sent to the server as null. It is an error if a
	// field in this list has a non-empty value. This may be used to include
	// null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SampleConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SampleConfig
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SampledShapleyAttribution) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SampledShapleyAttribution
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SamplingStrategy) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SamplingStrategy
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SamplingStrategyRandomSampleConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SamplingStrategyRandomSampleConfig
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SavedQuery) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SavedQuery
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1Scalar) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1Scalar
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with
	// an empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1Schedule) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1Schedule
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with
	// an empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ScheduleRunResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ScheduleRunResponse
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

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

// 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaAnnotationSpecColor) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaAnnotationSpecColor
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaImageBoundingBoxAnnotation) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaImageBoundingBoxAnnotation
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaImageClassificationAnnotation) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaImageClassificationAnnotation
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaImageDataItem) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaImageDataItem
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaImageDatasetMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaImageDatasetMetadata
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaImageSegmentationAnnotation) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaImageSegmentationAnnotation
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any non-pointer, non-interface field appearing in
	// ForceSendFields will be sent to the server regardless of whether the
	// field is empty or not. This may be used to include empty fields in
	// Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

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

// GoogleCloudAiplatformV1SchemaImageSegmentationAnnotationPolygonAnnotat
// ion: 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

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

// GoogleCloudAiplatformV1SchemaImageSegmentationAnnotationPolylineAnnota
// tion: 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaImageSegmentationAnnotationPolylineAnnotation) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaImageSegmentationAnnotationPolylineAnnotation
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaModelevaluationMetricsBoundingBoxMetrics) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaModelevaluationMetricsBoundingBoxMetrics
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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
}

// GoogleCloudAiplatformV1SchemaModelevaluationMetricsBoundingBoxMetricsC
// onfidenceMetrics: 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaModelevaluationMetricsBoundingBoxMetricsConfidenceMetrics) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaModelevaluationMetricsBoundingBoxMetricsConfidenceMetrics
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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
}

// GoogleCloudAiplatformV1SchemaModelevaluationMetricsClassificationEvalu
// ationMetrics: 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaModelevaluationMetricsClassificationEvaluationMetrics) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaModelevaluationMetricsClassificationEvaluationMetrics
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaModelevaluationMetricsClassificationEvaluationMetricsConfidenceMetrics) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaModelevaluationMetricsClassificationEvaluationMetricsConfidenceMetrics
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaModelevaluationMetricsConfusionMatrix) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaModelevaluationMetricsConfusionMatrix
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with
	// an empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

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

// GoogleCloudAiplatformV1SchemaModelevaluationMetricsForecastingEvaluati
// onMetrics: 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaModelevaluationMetricsForecastingEvaluationMetrics) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaModelevaluationMetricsForecastingEvaluationMetrics
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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
}

// GoogleCloudAiplatformV1SchemaModelevaluationMetricsForecastingEvaluati
// onMetricsQuantileMetricsEntry: 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaModelevaluationMetricsForecastingEvaluationMetricsQuantileMetricsEntry) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaModelevaluationMetricsForecastingEvaluationMetricsQuantileMetricsEntry
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaModelevaluationMetricsGeneralTextGenerationEvaluationMetrics) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaModelevaluationMetricsGeneralTextGenerationEvaluationMetrics
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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
}

// GoogleCloudAiplatformV1SchemaModelevaluationMetricsImageObjectDetectio
// nEvaluationMetrics: 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. However, any non-pointer, non-interface field
	// appearing in ForceSendFields will be sent to the server regardless of
	// whether the field is empty or not. This may be used to include empty
	// fields in Patch requests.
	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. However, any field with an empty value appearing
	// in NullFields will be sent to the server as null. It is an error if a
	// field in this list has a non-empty value. This may be used to include
	// null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaModelevaluationMetricsImageObjectDetectionEvaluationMetrics) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaModelevaluationMetricsImageObjectDetectionEvaluationMetrics
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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
}

// GoogleCloudAiplatformV1SchemaModelevaluationMetricsImageSegmentationEv
// aluationMetrics: 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. However, any non-pointer, non-interface field
	// appearing in ForceSendFields will be sent to the server regardless of
	// whether the field is empty or not. This may be used to include empty
	// fields in Patch requests.
	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. However, any
	// field with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaModelevaluationMetricsImageSegmentationEvaluationMetrics) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaModelevaluationMetricsImageSegmentationEvaluationMetrics
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaModelevaluationMetricsImageSegmentationEvaluationMetricsConfidenceMetricsEntry) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaModelevaluationMetricsImageSegmentationEvaluationMetricsConfidenceMetricsEntry
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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
}

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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaModelevaluationMetricsQuestionAnsweringEvaluationMetrics) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaModelevaluationMetricsQuestionAnsweringEvaluationMetrics
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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
}

// GoogleCloudAiplatformV1SchemaModelevaluationMetricsRegressionEvaluatio
// nMetrics: 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaModelevaluationMetricsRegressionEvaluationMetrics) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaModelevaluationMetricsRegressionEvaluationMetrics
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaModelevaluationMetricsSummarizationEvaluationMetrics) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaModelevaluationMetricsSummarizationEvaluationMetrics
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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
}

// GoogleCloudAiplatformV1SchemaModelevaluationMetricsTextExtractionEvalu
// ationMetrics: 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaModelevaluationMetricsTextExtractionEvaluationMetrics) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaModelevaluationMetricsTextExtractionEvaluationMetrics
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaModelevaluationMetricsTextExtractionEvaluationMetricsConfidenceMetrics) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaModelevaluationMetricsTextExtractionEvaluationMetricsConfidenceMetrics
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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
}

// GoogleCloudAiplatformV1SchemaModelevaluationMetricsTextSentimentEvalua
// tionMetrics: 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaModelevaluationMetricsTextSentimentEvaluationMetrics) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaModelevaluationMetricsTextSentimentEvaluationMetrics
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaModelevaluationMetricsTrackMetrics) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaModelevaluationMetricsTrackMetrics
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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
}

// GoogleCloudAiplatformV1SchemaModelevaluationMetricsTrackMetricsConfide
// nceMetrics: 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaModelevaluationMetricsTrackMetricsConfidenceMetrics) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaModelevaluationMetricsTrackMetricsConfidenceMetrics
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaModelevaluationMetricsVideoActionMetrics) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaModelevaluationMetricsVideoActionMetrics
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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
}

// GoogleCloudAiplatformV1SchemaModelevaluationMetricsVideoActionMetricsC
// onfidenceMetrics: 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaModelevaluationMetricsVideoActionMetricsConfidenceMetrics) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaModelevaluationMetricsVideoActionMetricsConfidenceMetrics
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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
}

// GoogleCloudAiplatformV1SchemaModelevaluationMetricsVideoActionRecognit
// ionMetrics: 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. However, any non-pointer, non-interface field appearing in
	// ForceSendFields will be sent to the server regardless of whether the
	// field is empty or not. This may be used to include empty fields in
	// Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

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

// GoogleCloudAiplatformV1SchemaModelevaluationMetricsVideoObjectTracking
// Metrics: 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. However, any non-pointer, non-interface field
	// appearing in ForceSendFields will be sent to the server regardless of
	// whether the field is empty or not. This may be used to include empty
	// fields in Patch requests.
	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. However, any field with an empty value appearing
	// in NullFields will be sent to the server as null. It is an error if a
	// field in this list has a non-empty value. This may be used to include
	// null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaModelevaluationMetricsVideoObjectTrackingMetrics) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaModelevaluationMetricsVideoObjectTrackingMetrics
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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
}

// GoogleCloudAiplatformV1SchemaPredictInstanceImageClassificationPredict
// ionInstance: 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

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

// GoogleCloudAiplatformV1SchemaPredictInstanceImageObjectDetectionPredic
// tionInstance: 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

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

// GoogleCloudAiplatformV1SchemaPredictInstanceImageSegmentationPredictio
// nInstance: 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

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

// GoogleCloudAiplatformV1SchemaPredictInstanceTextClassificationPredicti
// onInstance: 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

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

// GoogleCloudAiplatformV1SchemaPredictInstanceTextExtractionPredictionIn
// stance: 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

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

// GoogleCloudAiplatformV1SchemaPredictInstanceTextSentimentPredictionIns
// tance: 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

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

// GoogleCloudAiplatformV1SchemaPredictInstanceVideoActionRecognitionPred
// ictionInstance: 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

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

// GoogleCloudAiplatformV1SchemaPredictInstanceVideoClassificationPredict
// ionInstance: 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

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

// GoogleCloudAiplatformV1SchemaPredictInstanceVideoObjectTrackingPredict
// ionInstance: 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

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

// GoogleCloudAiplatformV1SchemaPredictParamsGroundingConfig: The
// configuration for grounding checking.
type GoogleCloudAiplatformV1SchemaPredictParamsGroundingConfig struct {
	// Sources: The sources for the grounding checking.
	Sources []*GoogleCloudAiplatformV1SchemaPredictParamsGroundingConfigSourceEntry `json:"sources,omitempty"`

	// ForceSendFields is a list of field names (e.g. "Sources") to
	// unconditionally include in API requests. By default, fields with
	// empty or default values are omitted from API requests. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	ForceSendFields []string `json:"-"`

	// NullFields is a list of field names (e.g. "Sources") to include in
	// API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

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

// GoogleCloudAiplatformV1SchemaPredictParamsGroundingConfigSourceEntry:
// Single source entry for the grounding checking.
type GoogleCloudAiplatformV1SchemaPredictParamsGroundingConfigSourceEntry struct {
	// EnterpriseDatastore: The uri of the Enterprise Search data source.
	EnterpriseDatastore string `json:"enterpriseDatastore,omitempty"`

	// Type: The type of the grounding checking source.
	//
	// Possible values:
	//   "UNSPECIFIED"
	//   "WEB" - Uses Web Search to check the grounding.
	//   "ENTERPRISE" - Uses Enterprise Search to check the grounding.
	Type string `json:"type,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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

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

// GoogleCloudAiplatformV1SchemaPredictParamsImageClassificationPredictio
// nParams: 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaPredictParamsImageClassificationPredictionParams) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaPredictParamsImageClassificationPredictionParams
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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
}

// GoogleCloudAiplatformV1SchemaPredictParamsImageObjectDetectionPredicti
// onParams: 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaPredictParamsImageObjectDetectionPredictionParams) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaPredictParamsImageObjectDetectionPredictionParams
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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
}

// GoogleCloudAiplatformV1SchemaPredictParamsImageSegmentationPredictionP
// arams: 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaPredictParamsImageSegmentationPredictionParams) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaPredictParamsImageSegmentationPredictionParams
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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
}

// GoogleCloudAiplatformV1SchemaPredictParamsVideoActionRecognitionPredic
// tionParams: 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaPredictParamsVideoActionRecognitionPredictionParams) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaPredictParamsVideoActionRecognitionPredictionParams
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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
}

// GoogleCloudAiplatformV1SchemaPredictParamsVideoClassificationPredictio
// nParams: 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaPredictParamsVideoClassificationPredictionParams) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaPredictParamsVideoClassificationPredictionParams
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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
}

// GoogleCloudAiplatformV1SchemaPredictParamsVideoObjectTrackingPredictio
// nParams: 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaPredictParamsVideoObjectTrackingPredictionParams) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaPredictParamsVideoObjectTrackingPredictionParams
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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
}

// GoogleCloudAiplatformV1SchemaPredictPredictionClassificationPrediction
// Result: 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with
	// an empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaPredictPredictionClassificationPredictionResult) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaPredictPredictionClassificationPredictionResult
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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
}

// GoogleCloudAiplatformV1SchemaPredictPredictionImageObjectDetectionPred
// ictionResult: 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaPredictPredictionImageObjectDetectionPredictionResult) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaPredictPredictionImageObjectDetectionPredictionResult
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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
}

// GoogleCloudAiplatformV1SchemaPredictPredictionImageSegmentationPredict
// ionResult: 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with
	// an empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

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

// GoogleCloudAiplatformV1SchemaPredictPredictionTabularClassificationPre
// dictionResult: 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaPredictPredictionTabularClassificationPredictionResult) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaPredictPredictionTabularClassificationPredictionResult
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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
}

// GoogleCloudAiplatformV1SchemaPredictPredictionTabularRegressionPredict
// ionResult: 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaPredictPredictionTabularRegressionPredictionResult) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaPredictPredictionTabularRegressionPredictionResult
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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
}

// GoogleCloudAiplatformV1SchemaPredictPredictionTextExtractionPrediction
// Result: 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with
	// an empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaPredictPredictionTextExtractionPredictionResult) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaPredictPredictionTextExtractionPredictionResult
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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
}

// GoogleCloudAiplatformV1SchemaPredictPredictionTextSentimentPredictionR
// esult: 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaPredictPredictionTextSentimentPredictionResult) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaPredictPredictionTextSentimentPredictionResult
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaPredictPredictionTftFeatureImportance) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaPredictPredictionTftFeatureImportance
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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
}

// GoogleCloudAiplatformV1SchemaPredictPredictionTimeSeriesForecastingPre
// dictionResult: 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaPredictPredictionTimeSeriesForecastingPredictionResult) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaPredictPredictionTimeSeriesForecastingPredictionResult
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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
}

// GoogleCloudAiplatformV1SchemaPredictPredictionVideoActionRecognitionPr
// edictionResult: 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaPredictPredictionVideoActionRecognitionPredictionResult) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaPredictPredictionVideoActionRecognitionPredictionResult
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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
}

// GoogleCloudAiplatformV1SchemaPredictPredictionVideoClassificationPredi
// ctionResult: 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaPredictPredictionVideoClassificationPredictionResult) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaPredictPredictionVideoClassificationPredictionResult
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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
}

// GoogleCloudAiplatformV1SchemaPredictPredictionVideoObjectTrackingPredi
// ctionResult: 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaPredictPredictionVideoObjectTrackingPredictionResult) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaPredictPredictionVideoObjectTrackingPredictionResult
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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
}

// GoogleCloudAiplatformV1SchemaPredictPredictionVideoObjectTrackingPredi
// ctionResultFrame: 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaPredictPredictionVideoObjectTrackingPredictionResultFrame) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaPredictPredictionVideoObjectTrackingPredictionResultFrame
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaPredictionResult) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaPredictionResult
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaPredictionResultError) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaPredictionResultError
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with
	// an empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaTablesDatasetMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTablesDatasetMetadata
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaTablesDatasetMetadataBigQuerySource) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTablesDatasetMetadataBigQuerySource
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaTablesDatasetMetadataGcsSource) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTablesDatasetMetadataGcsSource
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaTablesDatasetMetadataInputConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTablesDatasetMetadataInputConfig
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaTextClassificationAnnotation) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTextClassificationAnnotation
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaTextDataItem) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTextDataItem
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaTextDatasetMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTextDatasetMetadata
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaTextExtractionAnnotation) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTextExtractionAnnotation
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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"`

	// PromptType: Type of the prompt dataset.
	PromptType string `json:"promptType,omitempty"`

	// StopSequences: Customized stop sequences.
	StopSequences []string `json:"stopSequences,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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaTextPromptDatasetMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTextPromptDatasetMetadata
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaTextSegment) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTextSegment
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaTextSentimentAnnotation) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTextSentimentAnnotation
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with
	// an empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaTextSentimentSavedQueryMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTextSentimentSavedQueryMetadata
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with
	// an empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaTimeSegment) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTimeSegment
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with
	// an empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaTimeSeriesDatasetMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTimeSeriesDatasetMetadata
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaTimeSeriesDatasetMetadataBigQuerySource) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTimeSeriesDatasetMetadataBigQuerySource
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaTimeSeriesDatasetMetadataGcsSource) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTimeSeriesDatasetMetadataGcsSource
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaTimeSeriesDatasetMetadataInputConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTimeSeriesDatasetMetadataInputConfig
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecasting) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecasting
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any non-pointer, non-interface field appearing in
	// ForceSendFields will be sent to the server regardless of whether the
	// field is empty or not. This may be used to include empty fields in
	// Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputs) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputs
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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
}

// GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInp
// utsGranularity: 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsGranularity) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInputsGranularity
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

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

// GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInp
// utsTransformationAutoTransformation: 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

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

// GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInp
// utsTransformationCategoricalTransformation: 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

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

// GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInp
// utsTransformationNumericTransformation: 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

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

// GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInp
// utsTransformationTextTransformation: 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

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

// GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingInp
// utsTransformationTimestampTransformation: 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

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

// GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlForecastingMet
// adata: 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. However, any non-pointer, non-interface field
	// appearing in ForceSendFields will be sent to the server regardless of
	// whether the field is empty or not. This may be used to include empty
	// fields in Patch requests.
	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. However, any field with an empty value appearing
	// in NullFields will be sent to the server as null. It is an error if a
	// field in this list has a non-empty value. This may be used to include
	// null fields in Patch requests.
	NullFields []string `json:"-"`
}

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

// GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageClassific
// ation: 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageClassification) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageClassification
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with
	// an empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageClassificationInputs) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageClassificationInputs
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

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

// GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageObjectDet
// ection: 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageObjectDetection) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageObjectDetection
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any non-pointer, non-interface field appearing in
	// ForceSendFields will be sent to the server regardless of whether the
	// field is empty or not. This may be used to include empty fields in
	// Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageObjectDetectionInputs) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageObjectDetectionInputs
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

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

// GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageSegmentat
// ion: 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageSegmentation) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageSegmentation
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with
	// an empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageSegmentationInputs) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageSegmentationInputs
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageSegmentationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlImageSegmentationMetadata
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTables) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTables
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any non-pointer, non-interface field appearing in
	// ForceSendFields will be sent to the server regardless of whether the
	// field is empty or not. This may be used to include empty fields in
	// Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputs) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputs
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

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

// GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTr
// ansformationAutoTransformation: 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

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

// GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTr
// ansformationCategoricalArrayTransformation: 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

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

// GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTr
// ansformationCategoricalTransformation: 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

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

// GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTr
// ansformationNumericArrayTransformation: 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

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

// GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTr
// ansformationNumericTransformation: 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

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

// GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTr
// ansformationTextArrayTransformation: 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

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

// GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTr
// ansformationTextTransformation: 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

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

// GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTr
// ansformationTimestampTransformation: 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationTimestampTransformation) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTablesInputsTransformationTimestampTransformation
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any non-pointer, non-interface field
	// appearing in ForceSendFields will be sent to the server regardless of
	// whether the field is empty or not. This may be used to include empty
	// fields in Patch requests.
	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. However, any field with an empty value appearing
	// in NullFields will be sent to the server as null. It is an error if a
	// field in this list has a non-empty value. This may be used to include
	// null fields in Patch requests.
	NullFields []string `json:"-"`
}

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

// GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextClassifica
// tion: 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextClassification) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextClassification
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextClassificationInputs) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextClassificationInputs
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextExtraction) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextExtraction
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextSentiment) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlTextSentiment
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with
	// an empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

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

// GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoActionRec
// ognition: 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoActionRecognition) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoActionRecognition
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

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

// GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoClassific
// ation: 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoClassification) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoClassification
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

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

// GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoObjectTra
// cking: 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoObjectTracking) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutoMlVideoObjectTracking
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

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

// GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutomlImageTrainingT
// unableParameter: 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutomlImageTrainingTunableParameter) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionAutomlImageTrainingTunableParameter
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionCustomJobMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionCustomJobMetadata
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

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

// GoogleCloudAiplatformV1SchemaTrainingjobDefinitionExportEvaluatedDataI
// temsConfig: 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_SSS'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. However, any non-pointer, non-interface field appearing in
	// ForceSendFields will be sent to the server regardless of whether the
	// field is empty or not. This may be used to include empty fields in
	// Patch requests.
	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. However, any
	// field with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionExportEvaluatedDataItemsConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionExportEvaluatedDataItemsConfig
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with
	// an empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHierarchyConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHierarchyConfig
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any non-pointer, non-interface field
	// appearing in ForceSendFields will be sent to the server regardless of
	// whether the field is empty or not. This may be used to include empty
	// fields in Patch requests.
	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. However, any field with an empty value appearing
	// in NullFields will be sent to the server as null. It is an error if a
	// field in this list has a non-empty value. This may be used to include
	// null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHyperparameterTuningJobMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHyperparameterTuningJobMetadata
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

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

// GoogleCloudAiplatformV1SchemaTrainingjobDefinitionHyperparameterTuning
// Task: 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

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

// GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecasti
// ng: 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecasting) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecasting
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any non-pointer, non-interface field appearing in
	// ForceSendFields will be sent to the server regardless of whether the
	// field is empty or not. This may be used to include empty fields in
	// Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputs) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputs
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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
}

// GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecasti
// ngInputsGranularity: 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsGranularity) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingInputsGranularity
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

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

// GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecasti
// ngInputsTransformationAutoTransformation: 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

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

// GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecasti
// ngInputsTransformationCategoricalTransformation: 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

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

// GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecasti
// ngInputsTransformationNumericTransformation: 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

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

// GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecasti
// ngInputsTransformationTextTransformation: 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

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

// GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecasti
// ngInputsTransformationTimestampTransformation: 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

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

// GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecasti
// ngMetadata: 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. However, any non-pointer, non-interface field
	// appearing in ForceSendFields will be sent to the server regardless of
	// whether the field is empty or not. This may be used to include empty
	// fields in Patch requests.
	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. However, any field with an empty value appearing
	// in NullFields will be sent to the server as null. It is an error if a
	// field in this list has a non-empty value. This may be used to include
	// null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionSeq2SeqPlusForecastingMetadata
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecasting) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecasting
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any non-pointer, non-interface field appearing in
	// ForceSendFields will be sent to the server regardless of whether the
	// field is empty or not. This may be used to include empty fields in
	// Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputs) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputs
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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
}

// GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputs
// Granularity: 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsGranularity) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputsGranularity
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

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

// GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputs
// TransformationAutoTransformation: 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

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

// GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputs
// TransformationCategoricalTransformation: 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

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

// GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputs
// TransformationNumericTransformation: 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

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

// GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputs
// TransformationTextTransformation: 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

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

// GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingInputs
// TransformationTimestampTransformation: 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

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

// GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingMetada
// ta: 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. However, any non-pointer, non-interface field
	// appearing in ForceSendFields will be sent to the server regardless of
	// whether the field is empty or not. This may be used to include empty
	// fields in Patch requests.
	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. However, any field with an empty value appearing
	// in NullFields will be sent to the server as null. It is an error if a
	// field in this list has a non-empty value. This may be used to include
	// null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionTftForecastingMetadata
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaTrainingjobDefinitionWindowConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaTrainingjobDefinitionWindowConfig
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaVertex) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaVertex
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaVideoActionRecognitionAnnotation) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaVideoActionRecognitionAnnotation
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaVideoClassificationAnnotation) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaVideoClassificationAnnotation
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaVideoDataItem) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaVideoDataItem
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaVideoDatasetMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaVideoDatasetMetadata
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaVideoObjectTrackingAnnotation) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaVideoObjectTrackingAnnotation
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SchemaVisualInspectionClassificationLabelSavedQueryMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SchemaVisualInspectionClassificationLabelSavedQueryMetadata
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with
	// an empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SearchDataItemsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SearchDataItemsResponse
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SearchFeaturesResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SearchFeaturesResponse
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SearchMigratableResourcesRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SearchMigratableResourcesRequest
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

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

// GoogleCloudAiplatformV1SearchModelDeploymentMonitoringStatsAnomaliesRe
// quest: 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_di
	// splay_name, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

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

// GoogleCloudAiplatformV1SearchModelDeploymentMonitoringStatsAnomaliesRe
// questStatsAnomaliesObjective: 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

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

// GoogleCloudAiplatformV1SearchModelDeploymentMonitoringStatsAnomaliesRe
// sponse: 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SearchModelDeploymentMonitoringStatsAnomaliesResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SearchModelDeploymentMonitoringStatsAnomaliesResponse
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SmoothGradConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SmoothGradConfig
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with
	// an empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SpecialistPool) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SpecialistPool
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1StartNotebookRuntimeOperationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1StartNotebookRuntimeOperationMetadata
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1StratifiedSplit) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1StratifiedSplit
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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
}

// 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1StreamingPredictRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1StreamingPredictRequest
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1StreamingPredictResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1StreamingPredictResponse
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1StreamingReadFeatureValuesRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1StreamingReadFeatureValuesRequest
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1StringArray) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1StringArray
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1Study) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1Study
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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/hyperparamete
	// r-tuning-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"`

	// 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1StudySpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1StudySpec
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any non-pointer, non-interface field
	// appearing in ForceSendFields will be sent to the server regardless of
	// whether the field is empty or not. This may be used to include empty
	// fields in Patch requests.
	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. However, any field with an empty value appearing in
	// NullFields will be sent to the server as null. It is an error if a
	// field in this list has a non-empty value. This may be used to include
	// null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1StudySpecConvexAutomatedStoppingSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1StudySpecConvexAutomatedStoppingSpec
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1StudySpecDecayCurveAutomatedStoppingSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1StudySpecDecayCurveAutomatedStoppingSpec
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1StudySpecMedianAutomatedStoppingSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1StudySpecMedianAutomatedStoppingSpec
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1StudySpecMetricSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1StudySpecMetricSpec
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any non-pointer, non-interface field
	// appearing in ForceSendFields will be sent to the server regardless of
	// whether the field is empty or not. This may be used to include empty
	// fields in Patch requests.
	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. However, any field with an empty value appearing
	// in NullFields will be sent to the server as null. It is an error if a
	// field in this list has a non-empty value. This may be used to include
	// null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1StudySpecMetricSpecSafetyMetricConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1StudySpecMetricSpecSafetyMetricConfig
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any non-pointer, non-interface field appearing in
	// ForceSendFields will be sent to the server regardless of whether the
	// field is empty or not. This may be used to include empty fields in
	// Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1StudySpecParameterSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1StudySpecParameterSpec
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with
	// an empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1StudySpecParameterSpecCategoricalValueSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1StudySpecParameterSpecCategoricalValueSpec
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with
	// an empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

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

// GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpecC
// ategoricalValueCondition: 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

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

// GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpecD
// iscreteValueCondition: 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpecDiscreteValueCondition) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpecDiscreteValueCondition
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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
}

// GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpecI
// ntValueCondition: 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpecIntValueCondition) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1StudySpecParameterSpecConditionalParameterSpecIntValueCondition
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with
	// an empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1StudySpecParameterSpecDiscreteValueSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1StudySpecParameterSpecDiscreteValueSpec
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with
	// an empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1StudySpecParameterSpecDoubleValueSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1StudySpecParameterSpecDoubleValueSpec
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with
	// an empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1StudySpecParameterSpecIntegerValueSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1StudySpecParameterSpecIntegerValueSpec
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SuggestTrialsMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SuggestTrialsMetadata
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SuggestTrialsRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SuggestTrialsRequest
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1SuggestTrialsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1SuggestTrialsResponse
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1TFRecordDestination) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1TFRecordDestination
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1Tensor) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1Tensor
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any non-pointer, non-interface field appearing in
	// ForceSendFields will be sent to the server regardless of whether the
	// field is empty or not. This may be used to include empty fields in
	// Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1Tensorboard) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1Tensorboard
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1TensorboardBlob) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1TensorboardBlob
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1TensorboardBlobSequence) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1TensorboardBlobSequence
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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}/ex
	// periments/{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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1TensorboardExperiment) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1TensorboardExperiment
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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}/ex
	// periments/{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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1TensorboardRun) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1TensorboardRun
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1TensorboardTensor) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1TensorboardTensor
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1TensorboardTimeSeries) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1TensorboardTimeSeries
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any non-pointer, non-interface field appearing in
	// ForceSendFields will be sent to the server regardless of whether the
	// field is empty or not. This may be used to include empty fields in
	// Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1TensorboardTimeSeriesMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1TensorboardTimeSeriesMetadata
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1ThresholdConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1ThresholdConfig
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any non-pointer, non-interface field
	// appearing in ForceSendFields will be sent to the server regardless of
	// whether the field is empty or not. This may be used to include empty
	// fields in Patch requests.
	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. However, any
	// field with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1TimeSeriesData) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1TimeSeriesData
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1TimeSeriesDataPoint) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1TimeSeriesDataPoint
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1TimestampSplit) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1TimestampSplit
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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
}

// 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. However, any non-pointer, non-interface field
	// appearing in ForceSendFields will be sent to the server regardless of
	// whether the field is empty or not. This may be used to include empty
	// fields in Patch requests.
	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. However, any field with an empty value appearing in
	// NullFields will be sent to the server as null. It is an error if a
	// field in this list has a non-empty value. This may be used to include
	// null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1TrainingConfig) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1TrainingConfig
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1TrainingPipeline) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1TrainingPipeline
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1Trial) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1Trial
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with
	// an empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1TrialContext) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1TrialContext
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with
	// an empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1TrialParameter) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1TrialParameter
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1UndeployIndexOperationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1UndeployIndexOperationMetadata
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1UndeployIndexRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1UndeployIndexRequest
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1UndeployModelOperationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1UndeployModelOperationMetadata
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1UndeployModelRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1UndeployModelRequest
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with
	// an empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1UnmanagedContainerModel) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1UnmanagedContainerModel
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1UpdateExplanationDatasetOperationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1UpdateExplanationDatasetOperationMetadata
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

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

// GoogleCloudAiplatformV1UpdateExplanationDatasetResponse: Response
// message of ModelService.UpdateExplanationDataset operation.
type GoogleCloudAiplatformV1UpdateExplanationDatasetResponse struct {
}

// 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1UpdateFeaturestoreOperationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1UpdateFeaturestoreOperationMetadata
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

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

// GoogleCloudAiplatformV1UpdateModelDeploymentMonitoringJobOperationMeta
// data: 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1UpdateModelDeploymentMonitoringJobOperationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1UpdateModelDeploymentMonitoringJobOperationMetadata
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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/{specia
	// list_pool}`
	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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1UpdateSpecialistPoolOperationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1UpdateSpecialistPoolOperationMetadata
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

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

// 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1UploadModelOperationMetadata) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1UploadModelOperationMetadata
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. Users uploading the Model must have the
	// `iam.serviceAccounts.actAs` permission on this service account. Also,
	// this account must belong to the project specified in the `parent`
	// field and have all necessary read permissions.
	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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1UploadModelRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1UploadModelRequest
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1UploadModelResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1UploadModelResponse
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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"`

	// 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1UpsertDatapointsRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1UpsertDatapointsRequest
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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_labeli
	// ng_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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1UserActionReference) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1UserActionReference
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with
	// an empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1Value) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1Value
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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
}

// 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with
	// an empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1WorkerPoolSpec) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1WorkerPoolSpec
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1WriteFeatureValuesPayload) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1WriteFeatureValuesPayload
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1WriteFeatureValuesRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1WriteFeatureValuesRequest
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any non-pointer, non-interface field appearing in
	// ForceSendFields will be sent to the server regardless of whether the
	// field is empty or not. This may be used to include empty fields in
	// Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1WriteTensorboardExperimentDataRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1WriteTensorboardExperimentDataRequest
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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}/ex
	// periments/{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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1WriteTensorboardRunDataRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1WriteTensorboardRunDataRequest
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudAiplatformV1XraiAttribution) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudAiplatformV1XraiAttribution
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudLocationListLocationsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudLocationListLocationsResponse
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with
	// an empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleCloudLocationLocation) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleCloudLocationLocation
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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`. *
	// `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.
	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`.
	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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleIamV1Binding) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleIamV1Binding
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleIamV1Policy) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleIamV1Policy
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleIamV1SetIamPolicyRequest) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleIamV1SetIamPolicyRequest
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with
	// an empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleIamV1TestIamPermissionsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleIamV1TestIamPermissionsResponse
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with
	// an empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleLongrunningListOperationsResponse) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleLongrunningListOperationsResponse
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleLongrunningOperation) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleLongrunningOperation
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleRpcStatus) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleRpcStatus
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleTypeColor) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleTypeColor
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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
}

// 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with
	// an empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleTypeExpr) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleTypeExpr
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *GoogleTypeInterval) MarshalJSON() ([]byte, error) {
	type NoMethod GoogleTypeInterval
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, 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. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	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. However, any field with
	// an empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

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

// method id "aiplatform.projects.locations.get":

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 information.
func (c *ProjectsLocationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsGetCall) Context(ctx context.Context) *ProjectsLocationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleCloudLocationLocation or error will be non-nil.
// 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
	// {
	//   "description": "Gets information about a location.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.get",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "Resource name for the location.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleCloudLocationLocation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.list":

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 information.
func (c *ProjectsLocationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsListCall) Context(ctx context.Context) *ProjectsLocationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleCloudLocationListLocationsResponse or error
// will be non-nil. 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
	// {
	//   "description": "Lists information about the supported locations for this service.",
	//   "flatPath": "v1/projects/{projectsId}/locations",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.list",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "filter": {
	//       "description": "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).",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "name": {
	//       "description": "The resource that owns the locations collection, if applicable.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "pageSize": {
	//       "description": "The maximum number of results to return. If not set, the service selects a default.",
	//       "format": "int32",
	//       "location": "query",
	//       "type": "integer"
	//     },
	//     "pageToken": {
	//       "description": "A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page.",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}/locations",
	//   "response": {
	//     "$ref": "GoogleCloudLocationListLocationsResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// Pages invokes f for each page of results.
// 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")) // reset paging to original point
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

// method id "aiplatform.projects.locations.batchPredictionJobs.cancel":

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_
//     prediction_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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsBatchPredictionJobsCancelCall) Context(ctx context.Context) *ProjectsLocationsBatchPredictionJobsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1cancelbatchpredictionjobrequest)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
// non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
// returned 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
	// {
	//   "description": "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.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/batchPredictionJobs/{batchPredictionJobsId}:cancel",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.batchPredictionJobs.cancel",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "Required. The name of the BatchPredictionJob to cancel. Format: `projects/{project}/locations/{location}/batchPredictionJobs/{batch_prediction_job}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/batchPredictionJobs/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}:cancel",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1CancelBatchPredictionJobRequest"
	//   },
	//   "response": {
	//     "$ref": "GoogleProtobufEmpty"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.batchPredictionJobs.create":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsBatchPredictionJobsCreateCall) Context(ctx context.Context) *ProjectsLocationsBatchPredictionJobsCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1batchpredictionjob)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of *GoogleCloudAiplatformV1BatchPredictionJob or error
// will be non-nil. 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
	// {
	//   "description": "Creates a BatchPredictionJob. A BatchPredictionJob once created will right away be attempted to start.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/batchPredictionJobs",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.batchPredictionJobs.create",
	//   "parameterOrder": [
	//     "parent"
	//   ],
	//   "parameters": {
	//     "parent": {
	//       "description": "Required. The resource name of the Location to create the BatchPredictionJob in. Format: `projects/{project}/locations/{location}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+parent}/batchPredictionJobs",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1BatchPredictionJob"
	//   },
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1BatchPredictionJob"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.batchPredictionJobs.delete":

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_
//     prediction_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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsBatchPredictionJobsDeleteCall) Context(ctx context.Context) *ProjectsLocationsBatchPredictionJobsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "Deletes a BatchPredictionJob. Can only be called on jobs that already finished.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/batchPredictionJobs/{batchPredictionJobsId}",
	//   "httpMethod": "DELETE",
	//   "id": "aiplatform.projects.locations.batchPredictionJobs.delete",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "Required. The name of the BatchPredictionJob resource to be deleted. Format: `projects/{project}/locations/{location}/batchPredictionJobs/{batch_prediction_job}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/batchPredictionJobs/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.batchPredictionJobs.get":

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_
//     prediction_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 information.
func (c *ProjectsLocationsBatchPredictionJobsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsBatchPredictionJobsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsBatchPredictionJobsGetCall) Context(ctx context.Context) *ProjectsLocationsBatchPredictionJobsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleCloudAiplatformV1BatchPredictionJob or error
// will be non-nil. 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
	// {
	//   "description": "Gets a BatchPredictionJob",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/batchPredictionJobs/{batchPredictionJobsId}",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.batchPredictionJobs.get",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "Required. The name of the BatchPredictionJob resource. Format: `projects/{project}/locations/{location}/batchPredictionJobs/{batch_prediction_job}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/batchPredictionJobs/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1BatchPredictionJob"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.batchPredictionJobs.list":

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 information.
func (c *ProjectsLocationsBatchPredictionJobsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsBatchPredictionJobsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsBatchPredictionJobsListCall) Context(ctx context.Context) *ProjectsLocationsBatchPredictionJobsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of
// *GoogleCloudAiplatformV1ListBatchPredictionJobsResponse or error will
// be non-nil. 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
	// {
	//   "description": "Lists BatchPredictionJobs in a Location.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/batchPredictionJobs",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.batchPredictionJobs.list",
	//   "parameterOrder": [
	//     "parent"
	//   ],
	//   "parameters": {
	//     "filter": {
	//       "description": "The standard list filter. Supported fields: * `display_name` supports `=`, `!=` comparisons, and `:` wildcard. * `model_display_name` supports `=`, `!=` comparisons. * `state` supports `=`, `!=` comparisons. * `create_time` supports `=`, `!=`,`\u003c`, `\u003c=`,`\u003e`, `\u003e=` 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\u003e\"2021-05-18T00:00:00Z\"` * `labels.keyA=valueA` * `labels.keyB:*`",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "pageSize": {
	//       "description": "The standard list page size.",
	//       "format": "int32",
	//       "location": "query",
	//       "type": "integer"
	//     },
	//     "pageToken": {
	//       "description": "The standard list page token. Typically obtained via ListBatchPredictionJobsResponse.next_page_token of the previous JobService.ListBatchPredictionJobs call.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "parent": {
	//       "description": "Required. The resource name of the Location to list the BatchPredictionJobs from. Format: `projects/{project}/locations/{location}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "readMask": {
	//       "description": "Mask specifying which fields to read.",
	//       "format": "google-fieldmask",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+parent}/batchPredictionJobs",
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1ListBatchPredictionJobsResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// Pages invokes f for each page of results.
// 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")) // reset paging to original point
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

// method id "aiplatform.projects.locations.customJobs.cancel":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsCustomJobsCancelCall) Context(ctx context.Context) *ProjectsLocationsCustomJobsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1cancelcustomjobrequest)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
// non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
// returned 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
	// {
	//   "description": "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`.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/customJobs/{customJobsId}:cancel",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.customJobs.cancel",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "Required. The name of the CustomJob to cancel. Format: `projects/{project}/locations/{location}/customJobs/{custom_job}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/customJobs/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}:cancel",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1CancelCustomJobRequest"
	//   },
	//   "response": {
	//     "$ref": "GoogleProtobufEmpty"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.customJobs.create":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsCustomJobsCreateCall) Context(ctx context.Context) *ProjectsLocationsCustomJobsCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1customjob)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of *GoogleCloudAiplatformV1CustomJob or error will be
// non-nil. 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
	// {
	//   "description": "Creates a CustomJob. A created CustomJob right away will be attempted to be run.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/customJobs",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.customJobs.create",
	//   "parameterOrder": [
	//     "parent"
	//   ],
	//   "parameters": {
	//     "parent": {
	//       "description": "Required. The resource name of the Location to create the CustomJob in. Format: `projects/{project}/locations/{location}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+parent}/customJobs",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1CustomJob"
	//   },
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1CustomJob"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.customJobs.delete":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsCustomJobsDeleteCall) Context(ctx context.Context) *ProjectsLocationsCustomJobsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "Deletes a CustomJob.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/customJobs/{customJobsId}",
	//   "httpMethod": "DELETE",
	//   "id": "aiplatform.projects.locations.customJobs.delete",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "Required. The name of the CustomJob resource to be deleted. Format: `projects/{project}/locations/{location}/customJobs/{custom_job}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/customJobs/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.customJobs.get":

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 information.
func (c *ProjectsLocationsCustomJobsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsCustomJobsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsCustomJobsGetCall) Context(ctx context.Context) *ProjectsLocationsCustomJobsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleCloudAiplatformV1CustomJob or error will be
// non-nil. 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
	// {
	//   "description": "Gets a CustomJob.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/customJobs/{customJobsId}",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.customJobs.get",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "Required. The name of the CustomJob resource. Format: `projects/{project}/locations/{location}/customJobs/{custom_job}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/customJobs/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1CustomJob"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.customJobs.list":

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 information.
func (c *ProjectsLocationsCustomJobsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsCustomJobsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsCustomJobsListCall) Context(ctx context.Context) *ProjectsLocationsCustomJobsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleCloudAiplatformV1ListCustomJobsResponse or
// error will be non-nil. 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
	// {
	//   "description": "Lists CustomJobs in a Location.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/customJobs",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.customJobs.list",
	//   "parameterOrder": [
	//     "parent"
	//   ],
	//   "parameters": {
	//     "filter": {
	//       "description": "The standard list filter. Supported fields: * `display_name` supports `=`, `!=` comparisons, and `:` wildcard. * `state` supports `=`, `!=` comparisons. * `create_time` supports `=`, `!=`,`\u003c`, `\u003c=`,`\u003e`, `\u003e=` 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\u003e\"2021-05-18T00:00:00Z\"` * `labels.keyA=valueA` * `labels.keyB:*`",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "pageSize": {
	//       "description": "The standard list page size.",
	//       "format": "int32",
	//       "location": "query",
	//       "type": "integer"
	//     },
	//     "pageToken": {
	//       "description": "The standard list page token. Typically obtained via ListCustomJobsResponse.next_page_token of the previous JobService.ListCustomJobs call.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "parent": {
	//       "description": "Required. The resource name of the Location to list the CustomJobs from. Format: `projects/{project}/locations/{location}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "readMask": {
	//       "description": "Mask specifying which fields to read.",
	//       "format": "google-fieldmask",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+parent}/customJobs",
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1ListCustomJobsResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// Pages invokes f for each page of results.
// 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")) // reset paging to original point
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

// method id "aiplatform.projects.locations.customJobs.operations.cancel":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsCustomJobsOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsCustomJobsOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
// non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
// returned 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
	// {
	//   "description": "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`.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/customJobs/{customJobsId}/operations/{operationsId}:cancel",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.customJobs.operations.cancel",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource to be cancelled.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/customJobs/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}:cancel",
	//   "response": {
	//     "$ref": "GoogleProtobufEmpty"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.customJobs.operations.delete":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsCustomJobsOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsCustomJobsOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
// non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
// returned 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
	// {
	//   "description": "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`.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/customJobs/{customJobsId}/operations/{operationsId}",
	//   "httpMethod": "DELETE",
	//   "id": "aiplatform.projects.locations.customJobs.operations.delete",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource to be deleted.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/customJobs/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleProtobufEmpty"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.customJobs.operations.get":

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 information.
func (c *ProjectsLocationsCustomJobsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsCustomJobsOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsCustomJobsOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsCustomJobsOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "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.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/customJobs/{customJobsId}/operations/{operationsId}",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.customJobs.operations.get",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/customJobs/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.customJobs.operations.list":

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 information.
func (c *ProjectsLocationsCustomJobsOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsCustomJobsOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsCustomJobsOperationsListCall) Context(ctx context.Context) *ProjectsLocationsCustomJobsOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningListOperationsResponse or error will
// be non-nil. 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
	// {
	//   "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/customJobs/{customJobsId}/operations",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.customJobs.operations.list",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "filter": {
	//       "description": "The standard list filter.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "name": {
	//       "description": "The name of the operation's parent resource.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/customJobs/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "pageSize": {
	//       "description": "The standard list page size.",
	//       "format": "int32",
	//       "location": "query",
	//       "type": "integer"
	//     },
	//     "pageToken": {
	//       "description": "The standard list page token.",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}/operations",
	//   "response": {
	//     "$ref": "GoogleLongrunningListOperationsResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// Pages invokes f for each page of results.
// 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")) // reset paging to original point
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

// method id "aiplatform.projects.locations.customJobs.operations.wait":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsCustomJobsOperationsWaitCall) Context(ctx context.Context) *ProjectsLocationsCustomJobsOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "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.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/customJobs/{customJobsId}/operations/{operationsId}:wait",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.customJobs.operations.wait",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource to wait on.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/customJobs/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "timeout": {
	//       "description": "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.",
	//       "format": "google-duration",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}:wait",
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.dataLabelingJobs.cancel":

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_labe
//     ling_job}`.
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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsDataLabelingJobsCancelCall) Context(ctx context.Context) *ProjectsLocationsDataLabelingJobsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1canceldatalabelingjobrequest)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
// non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
// returned 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
	// {
	//   "description": "Cancels a DataLabelingJob. Success of cancellation is not guaranteed.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataLabelingJobs/{dataLabelingJobsId}:cancel",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.dataLabelingJobs.cancel",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "Required. The name of the DataLabelingJob. Format: `projects/{project}/locations/{location}/dataLabelingJobs/{data_labeling_job}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/dataLabelingJobs/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}:cancel",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1CancelDataLabelingJobRequest"
	//   },
	//   "response": {
	//     "$ref": "GoogleProtobufEmpty"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.dataLabelingJobs.create":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsDataLabelingJobsCreateCall) Context(ctx context.Context) *ProjectsLocationsDataLabelingJobsCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1datalabelingjob)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of *GoogleCloudAiplatformV1DataLabelingJob or error will
// be non-nil. 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
	// {
	//   "description": "Creates a DataLabelingJob.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataLabelingJobs",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.dataLabelingJobs.create",
	//   "parameterOrder": [
	//     "parent"
	//   ],
	//   "parameters": {
	//     "parent": {
	//       "description": "Required. The parent of the DataLabelingJob. Format: `projects/{project}/locations/{location}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+parent}/dataLabelingJobs",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1DataLabelingJob"
	//   },
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1DataLabelingJob"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.dataLabelingJobs.delete":

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_labe
//     ling_job}`.
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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsDataLabelingJobsDeleteCall) Context(ctx context.Context) *ProjectsLocationsDataLabelingJobsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "Deletes a DataLabelingJob.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataLabelingJobs/{dataLabelingJobsId}",
	//   "httpMethod": "DELETE",
	//   "id": "aiplatform.projects.locations.dataLabelingJobs.delete",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "Required. The name of the DataLabelingJob to be deleted. Format: `projects/{project}/locations/{location}/dataLabelingJobs/{data_labeling_job}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/dataLabelingJobs/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.dataLabelingJobs.get":

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_labe
//     ling_job}`.
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 information.
func (c *ProjectsLocationsDataLabelingJobsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsDataLabelingJobsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsDataLabelingJobsGetCall) Context(ctx context.Context) *ProjectsLocationsDataLabelingJobsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleCloudAiplatformV1DataLabelingJob or error will
// be non-nil. 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
	// {
	//   "description": "Gets a DataLabelingJob.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataLabelingJobs/{dataLabelingJobsId}",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.dataLabelingJobs.get",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "Required. The name of the DataLabelingJob. Format: `projects/{project}/locations/{location}/dataLabelingJobs/{data_labeling_job}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/dataLabelingJobs/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1DataLabelingJob"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.dataLabelingJobs.list":

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 information.
func (c *ProjectsLocationsDataLabelingJobsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsDataLabelingJobsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsDataLabelingJobsListCall) Context(ctx context.Context) *ProjectsLocationsDataLabelingJobsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleCloudAiplatformV1ListDataLabelingJobsResponse
// or error will be non-nil. Any non-2xx status code is an error.
// Response headers are in either
// *GoogleCloudAiplatformV1ListDataLabelingJobsResponse.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 *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
	// {
	//   "description": "Lists DataLabelingJobs in a Location.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataLabelingJobs",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.dataLabelingJobs.list",
	//   "parameterOrder": [
	//     "parent"
	//   ],
	//   "parameters": {
	//     "filter": {
	//       "description": "The standard list filter. Supported fields: * `display_name` supports `=`, `!=` comparisons, and `:` wildcard. * `state` supports `=`, `!=` comparisons. * `create_time` supports `=`, `!=`,`\u003c`, `\u003c=`,`\u003e`, `\u003e=` 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\u003e\"2021-05-18T00:00:00Z\"` * `labels.keyA=valueA` * `labels.keyB:*`",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "orderBy": {
	//       "description": "A comma-separated list of fields to order by, sorted in ascending order by default. Use `desc` after a field name for descending.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "pageSize": {
	//       "description": "The standard list page size.",
	//       "format": "int32",
	//       "location": "query",
	//       "type": "integer"
	//     },
	//     "pageToken": {
	//       "description": "The standard list page token.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "parent": {
	//       "description": "Required. The parent of the DataLabelingJob. Format: `projects/{project}/locations/{location}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "readMask": {
	//       "description": "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.",
	//       "format": "google-fieldmask",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+parent}/dataLabelingJobs",
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1ListDataLabelingJobsResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// Pages invokes f for each page of results.
// 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")) // reset paging to original point
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

// method id "aiplatform.projects.locations.dataLabelingJobs.operations.cancel":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsDataLabelingJobsOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsDataLabelingJobsOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
// non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
// returned 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
	// {
	//   "description": "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`.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataLabelingJobs/{dataLabelingJobsId}/operations/{operationsId}:cancel",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.dataLabelingJobs.operations.cancel",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource to be cancelled.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/dataLabelingJobs/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}:cancel",
	//   "response": {
	//     "$ref": "GoogleProtobufEmpty"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.dataLabelingJobs.operations.delete":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsDataLabelingJobsOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsDataLabelingJobsOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
// non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
// returned 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
	// {
	//   "description": "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`.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataLabelingJobs/{dataLabelingJobsId}/operations/{operationsId}",
	//   "httpMethod": "DELETE",
	//   "id": "aiplatform.projects.locations.dataLabelingJobs.operations.delete",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource to be deleted.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/dataLabelingJobs/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleProtobufEmpty"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.dataLabelingJobs.operations.get":

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 information.
func (c *ProjectsLocationsDataLabelingJobsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsDataLabelingJobsOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsDataLabelingJobsOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsDataLabelingJobsOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "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.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataLabelingJobs/{dataLabelingJobsId}/operations/{operationsId}",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.dataLabelingJobs.operations.get",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/dataLabelingJobs/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.dataLabelingJobs.operations.list":

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 information.
func (c *ProjectsLocationsDataLabelingJobsOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsDataLabelingJobsOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsDataLabelingJobsOperationsListCall) Context(ctx context.Context) *ProjectsLocationsDataLabelingJobsOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningListOperationsResponse or error will
// be non-nil. 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
	// {
	//   "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataLabelingJobs/{dataLabelingJobsId}/operations",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.dataLabelingJobs.operations.list",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "filter": {
	//       "description": "The standard list filter.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "name": {
	//       "description": "The name of the operation's parent resource.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/dataLabelingJobs/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "pageSize": {
	//       "description": "The standard list page size.",
	//       "format": "int32",
	//       "location": "query",
	//       "type": "integer"
	//     },
	//     "pageToken": {
	//       "description": "The standard list page token.",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}/operations",
	//   "response": {
	//     "$ref": "GoogleLongrunningListOperationsResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// Pages invokes f for each page of results.
// 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")) // reset paging to original point
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

// method id "aiplatform.projects.locations.dataLabelingJobs.operations.wait":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsDataLabelingJobsOperationsWaitCall) Context(ctx context.Context) *ProjectsLocationsDataLabelingJobsOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "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.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataLabelingJobs/{dataLabelingJobsId}/operations/{operationsId}:wait",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.dataLabelingJobs.operations.wait",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource to wait on.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/dataLabelingJobs/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "timeout": {
	//       "description": "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.",
	//       "format": "google-duration",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}:wait",
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.datasets.create":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsDatasetsCreateCall) Context(ctx context.Context) *ProjectsLocationsDatasetsCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1dataset)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "Creates a Dataset.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.datasets.create",
	//   "parameterOrder": [
	//     "parent"
	//   ],
	//   "parameters": {
	//     "parent": {
	//       "description": "Required. The resource name of the Location to create the Dataset in. Format: `projects/{project}/locations/{location}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+parent}/datasets",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1Dataset"
	//   },
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.datasets.delete":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsDatasetsDeleteCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "Deletes a Dataset.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}",
	//   "httpMethod": "DELETE",
	//   "id": "aiplatform.projects.locations.datasets.delete",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "Required. The resource name of the Dataset to delete. Format: `projects/{project}/locations/{location}/datasets/{dataset}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.datasets.export":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsDatasetsExportCall) Context(ctx context.Context) *ProjectsLocationsDatasetsExportCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1exportdatarequest)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "Exports data from a Dataset.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}:export",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.datasets.export",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "Required. The name of the Dataset resource. Format: `projects/{project}/locations/{location}/datasets/{dataset}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}:export",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1ExportDataRequest"
	//   },
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.datasets.get":

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 information.
func (c *ProjectsLocationsDatasetsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsDatasetsGetCall) Context(ctx context.Context) *ProjectsLocationsDatasetsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleCloudAiplatformV1Dataset or error will be
// non-nil. 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
	// {
	//   "description": "Gets a Dataset.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.datasets.get",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "Required. The name of the Dataset resource.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "readMask": {
	//       "description": "Mask specifying which fields to read.",
	//       "format": "google-fieldmask",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1Dataset"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.datasets.import":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsDatasetsImportCall) Context(ctx context.Context) *ProjectsLocationsDatasetsImportCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1importdatarequest)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "Imports data into a Dataset.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}:import",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.datasets.import",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "Required. The name of the Dataset resource. Format: `projects/{project}/locations/{location}/datasets/{dataset}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}:import",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1ImportDataRequest"
	//   },
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.datasets.list":

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 information.
func (c *ProjectsLocationsDatasetsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsDatasetsListCall) Context(ctx context.Context) *ProjectsLocationsDatasetsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleCloudAiplatformV1ListDatasetsResponse or error
// will be non-nil. 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
	// {
	//   "description": "Lists Datasets in a Location.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.datasets.list",
	//   "parameterOrder": [
	//     "parent"
	//   ],
	//   "parameters": {
	//     "filter": {
	//       "description": "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\"`",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "orderBy": {
	//       "description": "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`",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "pageSize": {
	//       "description": "The standard list page size.",
	//       "format": "int32",
	//       "location": "query",
	//       "type": "integer"
	//     },
	//     "pageToken": {
	//       "description": "The standard list page token.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "parent": {
	//       "description": "Required. The name of the Dataset's parent resource. Format: `projects/{project}/locations/{location}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "readMask": {
	//       "description": "Mask specifying which fields to read.",
	//       "format": "google-fieldmask",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+parent}/datasets",
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1ListDatasetsResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// Pages invokes f for each page of results.
// 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")) // reset paging to original point
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

// method id "aiplatform.projects.locations.datasets.patch":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsDatasetsPatchCall) Context(ctx context.Context) *ProjectsLocationsDatasetsPatchCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1dataset)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	c.urlParams_.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.
// Exactly one of *GoogleCloudAiplatformV1Dataset or error will be
// non-nil. 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
	// {
	//   "description": "Updates a Dataset.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}",
	//   "httpMethod": "PATCH",
	//   "id": "aiplatform.projects.locations.datasets.patch",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "Output only. The resource name of the Dataset.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "updateMask": {
	//       "description": "Required. The update mask applies to the resource. For the `FieldMask` definition, see google.protobuf.FieldMask. Updatable fields: * `display_name` * `description` * `labels`",
	//       "format": "google-fieldmask",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1Dataset"
	//   },
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1Dataset"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.datasets.searchDataItems":

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_labeli
// ng_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}/savedQueri
// es/{saved_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 information.
func (c *ProjectsLocationsDatasetsSearchDataItemsCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsSearchDataItemsCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsDatasetsSearchDataItemsCall) Context(ctx context.Context) *ProjectsLocationsDatasetsSearchDataItemsCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleCloudAiplatformV1SearchDataItemsResponse or
// error will be non-nil. 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
	// {
	//   "description": "Searches DataItems in a Dataset.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}:searchDataItems",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.datasets.searchDataItems",
	//   "parameterOrder": [
	//     "dataset"
	//   ],
	//   "parameters": {
	//     "annotationFilters": {
	//       "description": "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.",
	//       "location": "query",
	//       "repeated": true,
	//       "type": "string"
	//     },
	//     "annotationsFilter": {
	//       "deprecated": true,
	//       "description": "An expression for filtering the Annotations that will be returned per DataItem. * `annotation_spec_id` - for = or !=.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "annotationsLimit": {
	//       "description": "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.",
	//       "format": "int32",
	//       "location": "query",
	//       "type": "integer"
	//     },
	//     "dataItemFilter": {
	//       "description": "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)`",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "dataLabelingJob": {
	//       "description": "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.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "dataset": {
	//       "description": "Required. The resource name of the Dataset from which to search DataItems. Format: `projects/{project}/locations/{location}/datasets/{dataset}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "fieldMask": {
	//       "description": "Mask specifying which fields of DataItemView to read.",
	//       "format": "google-fieldmask",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "orderBy": {
	//       "deprecated": true,
	//       "description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "orderByAnnotation.orderBy": {
	//       "description": "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.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "orderByAnnotation.savedQuery": {
	//       "description": "Required. Saved query of the Annotation. Only Annotations belong to this saved query will be considered for ordering.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "orderByDataItem": {
	//       "description": "A comma-separated list of data item fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "pageSize": {
	//       "description": "Requested page size. Server may return fewer results than requested. Default and maximum page size is 100.",
	//       "format": "int32",
	//       "location": "query",
	//       "type": "integer"
	//     },
	//     "pageToken": {
	//       "description": "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.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "savedQuery": {
	//       "deprecated": true,
	//       "description": "The resource name of a SavedQuery(annotation set in UI). Format: `projects/{project}/locations/{location}/datasets/{dataset}/savedQueries/{saved_query}` All of the search will be done in the context of this SavedQuery.",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+dataset}:searchDataItems",
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1SearchDataItemsResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// Pages invokes f for each page of results.
// 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")) // reset paging to original point
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

// method id "aiplatform.projects.locations.datasets.annotationSpecs.get":

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}/annotati
//     onSpecs/{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 information.
func (c *ProjectsLocationsDatasetsAnnotationSpecsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsAnnotationSpecsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsDatasetsAnnotationSpecsGetCall) Context(ctx context.Context) *ProjectsLocationsDatasetsAnnotationSpecsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleCloudAiplatformV1AnnotationSpec or error will
// be non-nil. 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
	// {
	//   "description": "Gets an AnnotationSpec.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationSpecs/{annotationSpecsId}",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.datasets.annotationSpecs.get",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "Required. The name of the AnnotationSpec resource. Format: `projects/{project}/locations/{location}/datasets/{dataset}/annotationSpecs/{annotation_spec}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationSpecs/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "readMask": {
	//       "description": "Mask specifying which fields to read.",
	//       "format": "google-fieldmask",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1AnnotationSpec"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.datasets.annotationSpecs.operations.cancel":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsDatasetsAnnotationSpecsOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsDatasetsAnnotationSpecsOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
// non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
// returned 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
	// {
	//   "description": "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`.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationSpecs/{annotationSpecsId}/operations/{operationsId}:cancel",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.datasets.annotationSpecs.operations.cancel",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource to be cancelled.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationSpecs/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}:cancel",
	//   "response": {
	//     "$ref": "GoogleProtobufEmpty"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.datasets.annotationSpecs.operations.delete":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsDatasetsAnnotationSpecsOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsDatasetsAnnotationSpecsOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
// non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
// returned 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
	// {
	//   "description": "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`.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationSpecs/{annotationSpecsId}/operations/{operationsId}",
	//   "httpMethod": "DELETE",
	//   "id": "aiplatform.projects.locations.datasets.annotationSpecs.operations.delete",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource to be deleted.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationSpecs/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleProtobufEmpty"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.datasets.annotationSpecs.operations.get":

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 information.
func (c *ProjectsLocationsDatasetsAnnotationSpecsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsAnnotationSpecsOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsDatasetsAnnotationSpecsOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsDatasetsAnnotationSpecsOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "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.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationSpecs/{annotationSpecsId}/operations/{operationsId}",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.datasets.annotationSpecs.operations.get",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationSpecs/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.datasets.annotationSpecs.operations.list":

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 information.
func (c *ProjectsLocationsDatasetsAnnotationSpecsOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsAnnotationSpecsOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsDatasetsAnnotationSpecsOperationsListCall) Context(ctx context.Context) *ProjectsLocationsDatasetsAnnotationSpecsOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningListOperationsResponse or error will
// be non-nil. 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
	// {
	//   "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationSpecs/{annotationSpecsId}/operations",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.datasets.annotationSpecs.operations.list",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "filter": {
	//       "description": "The standard list filter.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "name": {
	//       "description": "The name of the operation's parent resource.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationSpecs/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "pageSize": {
	//       "description": "The standard list page size.",
	//       "format": "int32",
	//       "location": "query",
	//       "type": "integer"
	//     },
	//     "pageToken": {
	//       "description": "The standard list page token.",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}/operations",
	//   "response": {
	//     "$ref": "GoogleLongrunningListOperationsResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// Pages invokes f for each page of results.
// 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")) // reset paging to original point
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

// method id "aiplatform.projects.locations.datasets.annotationSpecs.operations.wait":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsDatasetsAnnotationSpecsOperationsWaitCall) Context(ctx context.Context) *ProjectsLocationsDatasetsAnnotationSpecsOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "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.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationSpecs/{annotationSpecsId}/operations/{operationsId}:wait",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.datasets.annotationSpecs.operations.wait",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource to wait on.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/annotationSpecs/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "timeout": {
	//       "description": "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.",
	//       "format": "google-duration",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}:wait",
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.datasets.dataItems.list":

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 information.
func (c *ProjectsLocationsDatasetsDataItemsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDataItemsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsDatasetsDataItemsListCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDataItemsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleCloudAiplatformV1ListDataItemsResponse or error
// will be non-nil. 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
	// {
	//   "description": "Lists DataItems in a Dataset.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dataItems",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.datasets.dataItems.list",
	//   "parameterOrder": [
	//     "parent"
	//   ],
	//   "parameters": {
	//     "filter": {
	//       "description": "The standard list filter.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "orderBy": {
	//       "description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "pageSize": {
	//       "description": "The standard list page size.",
	//       "format": "int32",
	//       "location": "query",
	//       "type": "integer"
	//     },
	//     "pageToken": {
	//       "description": "The standard list page token.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "parent": {
	//       "description": "Required. The resource name of the Dataset to list DataItems from. Format: `projects/{project}/locations/{location}/datasets/{dataset}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "readMask": {
	//       "description": "Mask specifying which fields to read.",
	//       "format": "google-fieldmask",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+parent}/dataItems",
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1ListDataItemsResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// Pages invokes f for each page of results.
// 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")) // reset paging to original point
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

// method id "aiplatform.projects.locations.datasets.dataItems.annotations.list":

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}/dataItem
//     s/{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 information.
func (c *ProjectsLocationsDatasetsDataItemsAnnotationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDataItemsAnnotationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsDatasetsDataItemsAnnotationsListCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDataItemsAnnotationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleCloudAiplatformV1ListAnnotationsResponse or
// error will be non-nil. 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
	// {
	//   "description": "Lists Annotations belongs to a dataitem",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dataItems/{dataItemsId}/annotations",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.datasets.dataItems.annotations.list",
	//   "parameterOrder": [
	//     "parent"
	//   ],
	//   "parameters": {
	//     "filter": {
	//       "description": "The standard list filter.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "orderBy": {
	//       "description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "pageSize": {
	//       "description": "The standard list page size.",
	//       "format": "int32",
	//       "location": "query",
	//       "type": "integer"
	//     },
	//     "pageToken": {
	//       "description": "The standard list page token.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "parent": {
	//       "description": "Required. The resource name of the DataItem to list Annotations from. Format: `projects/{project}/locations/{location}/datasets/{dataset}/dataItems/{data_item}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dataItems/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "readMask": {
	//       "description": "Mask specifying which fields to read.",
	//       "format": "google-fieldmask",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+parent}/annotations",
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1ListAnnotationsResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// Pages invokes f for each page of results.
// 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")) // reset paging to original point
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

// method id "aiplatform.projects.locations.datasets.dataItems.annotations.operations.cancel":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsDatasetsDataItemsAnnotationsOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDataItemsAnnotationsOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
// non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
// returned 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
	// {
	//   "description": "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`.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dataItems/{dataItemsId}/annotations/{annotationsId}/operations/{operationsId}:cancel",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.datasets.dataItems.annotations.operations.cancel",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource to be cancelled.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dataItems/[^/]+/annotations/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}:cancel",
	//   "response": {
	//     "$ref": "GoogleProtobufEmpty"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.datasets.dataItems.annotations.operations.delete":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsDatasetsDataItemsAnnotationsOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDataItemsAnnotationsOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
// non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
// returned 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
	// {
	//   "description": "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`.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dataItems/{dataItemsId}/annotations/{annotationsId}/operations/{operationsId}",
	//   "httpMethod": "DELETE",
	//   "id": "aiplatform.projects.locations.datasets.dataItems.annotations.operations.delete",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource to be deleted.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dataItems/[^/]+/annotations/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleProtobufEmpty"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.datasets.dataItems.annotations.operations.get":

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 information.
func (c *ProjectsLocationsDatasetsDataItemsAnnotationsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDataItemsAnnotationsOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsDatasetsDataItemsAnnotationsOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDataItemsAnnotationsOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "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.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dataItems/{dataItemsId}/annotations/{annotationsId}/operations/{operationsId}",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.datasets.dataItems.annotations.operations.get",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dataItems/[^/]+/annotations/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.datasets.dataItems.annotations.operations.list":

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 information.
func (c *ProjectsLocationsDatasetsDataItemsAnnotationsOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDataItemsAnnotationsOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsDatasetsDataItemsAnnotationsOperationsListCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDataItemsAnnotationsOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningListOperationsResponse or error will
// be non-nil. 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
	// {
	//   "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dataItems/{dataItemsId}/annotations/{annotationsId}/operations",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.datasets.dataItems.annotations.operations.list",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "filter": {
	//       "description": "The standard list filter.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "name": {
	//       "description": "The name of the operation's parent resource.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dataItems/[^/]+/annotations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "pageSize": {
	//       "description": "The standard list page size.",
	//       "format": "int32",
	//       "location": "query",
	//       "type": "integer"
	//     },
	//     "pageToken": {
	//       "description": "The standard list page token.",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}/operations",
	//   "response": {
	//     "$ref": "GoogleLongrunningListOperationsResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// Pages invokes f for each page of results.
// 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")) // reset paging to original point
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

// method id "aiplatform.projects.locations.datasets.dataItems.annotations.operations.wait":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsDatasetsDataItemsAnnotationsOperationsWaitCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDataItemsAnnotationsOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "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.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dataItems/{dataItemsId}/annotations/{annotationsId}/operations/{operationsId}:wait",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.datasets.dataItems.annotations.operations.wait",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource to wait on.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dataItems/[^/]+/annotations/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "timeout": {
	//       "description": "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.",
	//       "format": "google-duration",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}:wait",
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.datasets.dataItems.operations.cancel":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsDatasetsDataItemsOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDataItemsOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
// non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
// returned 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
	// {
	//   "description": "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`.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dataItems/{dataItemsId}/operations/{operationsId}:cancel",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.datasets.dataItems.operations.cancel",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource to be cancelled.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dataItems/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}:cancel",
	//   "response": {
	//     "$ref": "GoogleProtobufEmpty"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.datasets.dataItems.operations.delete":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsDatasetsDataItemsOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDataItemsOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
// non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
// returned 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
	// {
	//   "description": "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`.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dataItems/{dataItemsId}/operations/{operationsId}",
	//   "httpMethod": "DELETE",
	//   "id": "aiplatform.projects.locations.datasets.dataItems.operations.delete",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource to be deleted.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dataItems/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleProtobufEmpty"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.datasets.dataItems.operations.get":

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 information.
func (c *ProjectsLocationsDatasetsDataItemsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDataItemsOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsDatasetsDataItemsOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDataItemsOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "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.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dataItems/{dataItemsId}/operations/{operationsId}",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.datasets.dataItems.operations.get",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dataItems/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.datasets.dataItems.operations.list":

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 information.
func (c *ProjectsLocationsDatasetsDataItemsOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDataItemsOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsDatasetsDataItemsOperationsListCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDataItemsOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningListOperationsResponse or error will
// be non-nil. 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
	// {
	//   "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dataItems/{dataItemsId}/operations",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.datasets.dataItems.operations.list",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "filter": {
	//       "description": "The standard list filter.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "name": {
	//       "description": "The name of the operation's parent resource.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dataItems/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "pageSize": {
	//       "description": "The standard list page size.",
	//       "format": "int32",
	//       "location": "query",
	//       "type": "integer"
	//     },
	//     "pageToken": {
	//       "description": "The standard list page token.",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}/operations",
	//   "response": {
	//     "$ref": "GoogleLongrunningListOperationsResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// Pages invokes f for each page of results.
// 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")) // reset paging to original point
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

// method id "aiplatform.projects.locations.datasets.dataItems.operations.wait":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsDatasetsDataItemsOperationsWaitCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDataItemsOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "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.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dataItems/{dataItemsId}/operations/{operationsId}:wait",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.datasets.dataItems.operations.wait",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource to wait on.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dataItems/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "timeout": {
	//       "description": "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.",
	//       "format": "google-duration",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}:wait",
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.datasets.datasetVersions.create":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsDatasetsDatasetVersionsCreateCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDatasetVersionsCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1datasetversion)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "Create a version from a Dataset.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/datasetVersions",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.datasets.datasetVersions.create",
	//   "parameterOrder": [
	//     "parent"
	//   ],
	//   "parameters": {
	//     "parent": {
	//       "description": "Required. The name of the Dataset resource. Format: `projects/{project}/locations/{location}/datasets/{dataset}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+parent}/datasetVersions",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1DatasetVersion"
	//   },
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.datasets.datasetVersions.delete":

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}/datasetV
//     ersions/{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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsDatasetsDatasetVersionsDeleteCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDatasetVersionsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "Deletes a Dataset version.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/datasetVersions/{datasetVersionsId}",
	//   "httpMethod": "DELETE",
	//   "id": "aiplatform.projects.locations.datasets.datasetVersions.delete",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "Required. The resource name of the Dataset version to delete. Format: `projects/{project}/locations/{location}/datasets/{dataset}/datasetVersions/{dataset_version}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/datasetVersions/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.datasets.datasetVersions.get":

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}/datasetV
//     ersions/{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 information.
func (c *ProjectsLocationsDatasetsDatasetVersionsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDatasetVersionsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsDatasetsDatasetVersionsGetCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDatasetVersionsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleCloudAiplatformV1DatasetVersion or error will
// be non-nil. 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
	// {
	//   "description": "Gets a Dataset version.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/datasetVersions/{datasetVersionsId}",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.datasets.datasetVersions.get",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "Required. The resource name of the Dataset version to delete. Format: `projects/{project}/locations/{location}/datasets/{dataset}/datasetVersions/{dataset_version}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/datasetVersions/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "readMask": {
	//       "description": "Mask specifying which fields to read.",
	//       "format": "google-fieldmask",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1DatasetVersion"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.datasets.datasetVersions.list":

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 information.
func (c *ProjectsLocationsDatasetsDatasetVersionsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDatasetVersionsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsDatasetsDatasetVersionsListCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDatasetVersionsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleCloudAiplatformV1ListDatasetVersionsResponse or
// error will be non-nil. Any non-2xx status code is an error. Response
// headers are in either
// *GoogleCloudAiplatformV1ListDatasetVersionsResponse.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 *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
	// {
	//   "description": "Lists DatasetVersions in a Dataset.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/datasetVersions",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.datasets.datasetVersions.list",
	//   "parameterOrder": [
	//     "parent"
	//   ],
	//   "parameters": {
	//     "filter": {
	//       "description": "Optional. The standard list filter.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "orderBy": {
	//       "description": "Optional. A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "pageSize": {
	//       "description": "Optional. The standard list page size.",
	//       "format": "int32",
	//       "location": "query",
	//       "type": "integer"
	//     },
	//     "pageToken": {
	//       "description": "Optional. The standard list page token.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "parent": {
	//       "description": "Required. The resource name of the Dataset to list DatasetVersions from. Format: `projects/{project}/locations/{location}/datasets/{dataset}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "readMask": {
	//       "description": "Optional. Mask specifying which fields to read.",
	//       "format": "google-fieldmask",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+parent}/datasetVersions",
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1ListDatasetVersionsResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// Pages invokes f for each page of results.
// 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")) // reset paging to original point
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

// method id "aiplatform.projects.locations.datasets.datasetVersions.restore":

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}/datasetV
//     ersions/{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 information.
func (c *ProjectsLocationsDatasetsDatasetVersionsRestoreCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsDatasetVersionsRestoreCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsDatasetsDatasetVersionsRestoreCall) Context(ctx context.Context) *ProjectsLocationsDatasetsDatasetVersionsRestoreCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "Restores a dataset version.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/datasetVersions/{datasetVersionsId}:restore",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.datasets.datasetVersions.restore",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "Required. The name of the DatasetVersion resource. Format: `projects/{project}/locations/{location}/datasets/{dataset}/datasetVersions/{dataset_version}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/datasetVersions/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}:restore",
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.datasets.operations.cancel":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsDatasetsOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsDatasetsOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
// non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
// returned 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
	// {
	//   "description": "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`.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/operations/{operationsId}:cancel",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.datasets.operations.cancel",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource to be cancelled.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}:cancel",
	//   "response": {
	//     "$ref": "GoogleProtobufEmpty"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.datasets.operations.delete":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsDatasetsOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsDatasetsOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
// non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
// returned 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
	// {
	//   "description": "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`.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/operations/{operationsId}",
	//   "httpMethod": "DELETE",
	//   "id": "aiplatform.projects.locations.datasets.operations.delete",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource to be deleted.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleProtobufEmpty"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.datasets.operations.get":

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 information.
func (c *ProjectsLocationsDatasetsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsDatasetsOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsDatasetsOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "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.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/operations/{operationsId}",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.datasets.operations.get",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.datasets.operations.list":

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 information.
func (c *ProjectsLocationsDatasetsOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsDatasetsOperationsListCall) Context(ctx context.Context) *ProjectsLocationsDatasetsOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningListOperationsResponse or error will
// be non-nil. 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
	// {
	//   "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/operations",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.datasets.operations.list",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "filter": {
	//       "description": "The standard list filter.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "name": {
	//       "description": "The name of the operation's parent resource.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "pageSize": {
	//       "description": "The standard list page size.",
	//       "format": "int32",
	//       "location": "query",
	//       "type": "integer"
	//     },
	//     "pageToken": {
	//       "description": "The standard list page token.",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}/operations",
	//   "response": {
	//     "$ref": "GoogleLongrunningListOperationsResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// Pages invokes f for each page of results.
// 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")) // reset paging to original point
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

// method id "aiplatform.projects.locations.datasets.operations.wait":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsDatasetsOperationsWaitCall) Context(ctx context.Context) *ProjectsLocationsDatasetsOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "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.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/operations/{operationsId}:wait",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.datasets.operations.wait",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource to wait on.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "timeout": {
	//       "description": "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.",
	//       "format": "google-duration",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}:wait",
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.datasets.savedQueries.delete":

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}/savedQue
//     ries/{saved_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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsDatasetsSavedQueriesDeleteCall) Context(ctx context.Context) *ProjectsLocationsDatasetsSavedQueriesDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "Deletes a SavedQuery.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/savedQueries/{savedQueriesId}",
	//   "httpMethod": "DELETE",
	//   "id": "aiplatform.projects.locations.datasets.savedQueries.delete",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "Required. The resource name of the SavedQuery to delete. Format: `projects/{project}/locations/{location}/datasets/{dataset}/savedQueries/{saved_query}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/savedQueries/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.datasets.savedQueries.list":

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 information.
func (c *ProjectsLocationsDatasetsSavedQueriesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsSavedQueriesListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsDatasetsSavedQueriesListCall) Context(ctx context.Context) *ProjectsLocationsDatasetsSavedQueriesListCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleCloudAiplatformV1ListSavedQueriesResponse or
// error will be non-nil. 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
	// {
	//   "description": "Lists SavedQueries in a Dataset.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/savedQueries",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.datasets.savedQueries.list",
	//   "parameterOrder": [
	//     "parent"
	//   ],
	//   "parameters": {
	//     "filter": {
	//       "description": "The standard list filter.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "orderBy": {
	//       "description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "pageSize": {
	//       "description": "The standard list page size.",
	//       "format": "int32",
	//       "location": "query",
	//       "type": "integer"
	//     },
	//     "pageToken": {
	//       "description": "The standard list page token.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "parent": {
	//       "description": "Required. The resource name of the Dataset to list SavedQueries from. Format: `projects/{project}/locations/{location}/datasets/{dataset}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "readMask": {
	//       "description": "Mask specifying which fields to read.",
	//       "format": "google-fieldmask",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+parent}/savedQueries",
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1ListSavedQueriesResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// Pages invokes f for each page of results.
// 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")) // reset paging to original point
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

// method id "aiplatform.projects.locations.datasets.savedQueries.operations.cancel":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsDatasetsSavedQueriesOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsDatasetsSavedQueriesOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
// non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
// returned 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
	// {
	//   "description": "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`.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/savedQueries/{savedQueriesId}/operations/{operationsId}:cancel",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.datasets.savedQueries.operations.cancel",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource to be cancelled.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/savedQueries/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}:cancel",
	//   "response": {
	//     "$ref": "GoogleProtobufEmpty"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.datasets.savedQueries.operations.delete":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsDatasetsSavedQueriesOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsDatasetsSavedQueriesOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
// non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
// returned 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
	// {
	//   "description": "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`.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/savedQueries/{savedQueriesId}/operations/{operationsId}",
	//   "httpMethod": "DELETE",
	//   "id": "aiplatform.projects.locations.datasets.savedQueries.operations.delete",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource to be deleted.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/savedQueries/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleProtobufEmpty"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.datasets.savedQueries.operations.get":

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 information.
func (c *ProjectsLocationsDatasetsSavedQueriesOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsSavedQueriesOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsDatasetsSavedQueriesOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsDatasetsSavedQueriesOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "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.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/savedQueries/{savedQueriesId}/operations/{operationsId}",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.datasets.savedQueries.operations.get",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/savedQueries/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.datasets.savedQueries.operations.list":

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 information.
func (c *ProjectsLocationsDatasetsSavedQueriesOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsDatasetsSavedQueriesOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsDatasetsSavedQueriesOperationsListCall) Context(ctx context.Context) *ProjectsLocationsDatasetsSavedQueriesOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningListOperationsResponse or error will
// be non-nil. 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
	// {
	//   "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/savedQueries/{savedQueriesId}/operations",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.datasets.savedQueries.operations.list",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "filter": {
	//       "description": "The standard list filter.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "name": {
	//       "description": "The name of the operation's parent resource.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/savedQueries/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "pageSize": {
	//       "description": "The standard list page size.",
	//       "format": "int32",
	//       "location": "query",
	//       "type": "integer"
	//     },
	//     "pageToken": {
	//       "description": "The standard list page token.",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}/operations",
	//   "response": {
	//     "$ref": "GoogleLongrunningListOperationsResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// Pages invokes f for each page of results.
// 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")) // reset paging to original point
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

// method id "aiplatform.projects.locations.datasets.savedQueries.operations.wait":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsDatasetsSavedQueriesOperationsWaitCall) Context(ctx context.Context) *ProjectsLocationsDatasetsSavedQueriesOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "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.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/savedQueries/{savedQueriesId}/operations/{operationsId}:wait",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.datasets.savedQueries.operations.wait",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource to wait on.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/savedQueries/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "timeout": {
	//       "description": "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.",
	//       "format": "google-duration",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}:wait",
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.deploymentResourcePools.operations.cancel":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsDeploymentResourcePoolsOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsDeploymentResourcePoolsOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
// non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
// returned 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
	// {
	//   "description": "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`.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deploymentResourcePools/{deploymentResourcePoolsId}/operations/{operationsId}:cancel",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.deploymentResourcePools.operations.cancel",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource to be cancelled.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/deploymentResourcePools/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}:cancel",
	//   "response": {
	//     "$ref": "GoogleProtobufEmpty"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.deploymentResourcePools.operations.delete":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsDeploymentResourcePoolsOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsDeploymentResourcePoolsOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
// non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
// returned 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
	// {
	//   "description": "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`.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deploymentResourcePools/{deploymentResourcePoolsId}/operations/{operationsId}",
	//   "httpMethod": "DELETE",
	//   "id": "aiplatform.projects.locations.deploymentResourcePools.operations.delete",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource to be deleted.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/deploymentResourcePools/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleProtobufEmpty"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.deploymentResourcePools.operations.get":

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 information.
func (c *ProjectsLocationsDeploymentResourcePoolsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsDeploymentResourcePoolsOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsDeploymentResourcePoolsOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsDeploymentResourcePoolsOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "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.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deploymentResourcePools/{deploymentResourcePoolsId}/operations/{operationsId}",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.deploymentResourcePools.operations.get",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/deploymentResourcePools/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.deploymentResourcePools.operations.list":

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 information.
func (c *ProjectsLocationsDeploymentResourcePoolsOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsDeploymentResourcePoolsOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsDeploymentResourcePoolsOperationsListCall) Context(ctx context.Context) *ProjectsLocationsDeploymentResourcePoolsOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningListOperationsResponse or error will
// be non-nil. 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
	// {
	//   "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deploymentResourcePools/{deploymentResourcePoolsId}/operations",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.deploymentResourcePools.operations.list",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "filter": {
	//       "description": "The standard list filter.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "name": {
	//       "description": "The name of the operation's parent resource.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/deploymentResourcePools/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "pageSize": {
	//       "description": "The standard list page size.",
	//       "format": "int32",
	//       "location": "query",
	//       "type": "integer"
	//     },
	//     "pageToken": {
	//       "description": "The standard list page token.",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}/operations",
	//   "response": {
	//     "$ref": "GoogleLongrunningListOperationsResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// Pages invokes f for each page of results.
// 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")) // reset paging to original point
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

// method id "aiplatform.projects.locations.deploymentResourcePools.operations.wait":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsDeploymentResourcePoolsOperationsWaitCall) Context(ctx context.Context) *ProjectsLocationsDeploymentResourcePoolsOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "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.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deploymentResourcePools/{deploymentResourcePoolsId}/operations/{operationsId}:wait",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.deploymentResourcePools.operations.wait",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource to wait on.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/deploymentResourcePools/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "timeout": {
	//       "description": "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.",
	//       "format": "google-duration",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}:wait",
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.endpoints.create":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsEndpointsCreateCall) Context(ctx context.Context) *ProjectsLocationsEndpointsCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1endpoint)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "Creates an Endpoint.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/endpoints",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.endpoints.create",
	//   "parameterOrder": [
	//     "parent"
	//   ],
	//   "parameters": {
	//     "endpointId": {
	//       "description": "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.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "parent": {
	//       "description": "Required. The resource name of the Location to create the Endpoint in. Format: `projects/{project}/locations/{location}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+parent}/endpoints",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1Endpoint"
	//   },
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.endpoints.delete":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsEndpointsDeleteCall) Context(ctx context.Context) *ProjectsLocationsEndpointsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "Deletes an Endpoint.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}",
	//   "httpMethod": "DELETE",
	//   "id": "aiplatform.projects.locations.endpoints.delete",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "Required. The name of the Endpoint resource to be deleted. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.endpoints.deployModel":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsEndpointsDeployModelCall) Context(ctx context.Context) *ProjectsLocationsEndpointsDeployModelCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1deploymodelrequest)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "Deploys a Model into this Endpoint, creating a DeployedModel within it.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:deployModel",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.endpoints.deployModel",
	//   "parameterOrder": [
	//     "endpoint"
	//   ],
	//   "parameters": {
	//     "endpoint": {
	//       "description": "Required. The name of the Endpoint resource into which to deploy a Model. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+endpoint}:deployModel",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1DeployModelRequest"
	//   },
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.endpoints.explain":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsEndpointsExplainCall) Context(ctx context.Context) *ProjectsLocationsEndpointsExplainCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1explainrequest)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of *GoogleCloudAiplatformV1ExplainResponse or error will
// be non-nil. 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
	// {
	//   "description": "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.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:explain",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.endpoints.explain",
	//   "parameterOrder": [
	//     "endpoint"
	//   ],
	//   "parameters": {
	//     "endpoint": {
	//       "description": "Required. The name of the Endpoint requested to serve the explanation. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+endpoint}:explain",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1ExplainRequest"
	//   },
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1ExplainResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.endpoints.get":

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 information.
func (c *ProjectsLocationsEndpointsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsEndpointsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsEndpointsGetCall) Context(ctx context.Context) *ProjectsLocationsEndpointsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleCloudAiplatformV1Endpoint or error will be
// non-nil. 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
	// {
	//   "description": "Gets an Endpoint.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.endpoints.get",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "Required. The name of the Endpoint resource. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1Endpoint"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.endpoints.list":

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". Some
// examples: * `endpoint=1` * `displayName="myDisplayName" *
// `labels.myKey="myValue"
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 information.
func (c *ProjectsLocationsEndpointsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsEndpointsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsEndpointsListCall) Context(ctx context.Context) *ProjectsLocationsEndpointsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleCloudAiplatformV1ListEndpointsResponse or error
// will be non-nil. 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
	// {
	//   "description": "Lists Endpoints in a Location.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/endpoints",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.endpoints.list",
	//   "parameterOrder": [
	//     "parent"
	//   ],
	//   "parameters": {
	//     "filter": {
	//       "description": "Optional. An expression for filtering the results of the request. For field names both snake_case and camelCase are supported. * `endpoint` supports = and !=. `endpoint` represents the Endpoint ID, i.e. the last segment of the Endpoint's resource name. * `display_name` supports = and, != * `labels` supports general map functions that is: * `labels.key=value` - key:value equality * `labels.key:* or labels:key - key existence * A key including a space must be quoted. `labels.\"a key\"`. Some examples: * `endpoint=1` * `displayName=\"myDisplayName\"` * `labels.myKey=\"myValue\"`",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "orderBy": {
	//       "description": "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`.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "pageSize": {
	//       "description": "Optional. The standard list page size.",
	//       "format": "int32",
	//       "location": "query",
	//       "type": "integer"
	//     },
	//     "pageToken": {
	//       "description": "Optional. The standard list page token. Typically obtained via ListEndpointsResponse.next_page_token of the previous EndpointService.ListEndpoints call.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "parent": {
	//       "description": "Required. The resource name of the Location from which to list the Endpoints. Format: `projects/{project}/locations/{location}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "readMask": {
	//       "description": "Optional. Mask specifying which fields to read.",
	//       "format": "google-fieldmask",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+parent}/endpoints",
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1ListEndpointsResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// Pages invokes f for each page of results.
// 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")) // reset paging to original point
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

// method id "aiplatform.projects.locations.endpoints.mutateDeployedModel":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsEndpointsMutateDeployedModelCall) Context(ctx context.Context) *ProjectsLocationsEndpointsMutateDeployedModelCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1mutatedeployedmodelrequest)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "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).",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:mutateDeployedModel",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.endpoints.mutateDeployedModel",
	//   "parameterOrder": [
	//     "endpoint"
	//   ],
	//   "parameters": {
	//     "endpoint": {
	//       "description": "Required. The name of the Endpoint resource into which to mutate a DeployedModel. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+endpoint}:mutateDeployedModel",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1MutateDeployedModelRequest"
	//   },
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.endpoints.patch":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsEndpointsPatchCall) Context(ctx context.Context) *ProjectsLocationsEndpointsPatchCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1endpoint)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	c.urlParams_.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.
// Exactly one of *GoogleCloudAiplatformV1Endpoint or error will be
// non-nil. 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
	// {
	//   "description": "Updates an Endpoint.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}",
	//   "httpMethod": "PATCH",
	//   "id": "aiplatform.projects.locations.endpoints.patch",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "Output only. The resource name of the Endpoint.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "updateMask": {
	//       "description": "Required. The update mask applies to the resource. See google.protobuf.FieldMask.",
	//       "format": "google-fieldmask",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1Endpoint"
	//   },
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1Endpoint"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.endpoints.predict":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsEndpointsPredictCall) Context(ctx context.Context) *ProjectsLocationsEndpointsPredictCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1predictrequest)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of *GoogleCloudAiplatformV1PredictResponse or error will
// be non-nil. 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
	// {
	//   "description": "Perform an online prediction.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:predict",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.endpoints.predict",
	//   "parameterOrder": [
	//     "endpoint"
	//   ],
	//   "parameters": {
	//     "endpoint": {
	//       "description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+endpoint}:predict",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1PredictRequest"
	//   },
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1PredictResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.endpoints.rawPredict":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsEndpointsRawPredictCall) Context(ctx context.Context) *ProjectsLocationsEndpointsRawPredictCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1rawpredictrequest)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of *GoogleApiHttpBody or error will be non-nil. 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
	// {
	//   "description": "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.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:rawPredict",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.endpoints.rawPredict",
	//   "parameterOrder": [
	//     "endpoint"
	//   ],
	//   "parameters": {
	//     "endpoint": {
	//       "description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+endpoint}:rawPredict",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1RawPredictRequest"
	//   },
	//   "response": {
	//     "$ref": "GoogleApiHttpBody"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.endpoints.serverStreamingPredict":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsEndpointsServerStreamingPredictCall) Context(ctx context.Context) *ProjectsLocationsEndpointsServerStreamingPredictCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1streamingpredictrequest)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of *GoogleCloudAiplatformV1StreamingPredictResponse or
// error will be non-nil. 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
	// {
	//   "description": "Perform a server-side streaming online prediction request for Vertex LLM streaming.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:serverStreamingPredict",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.endpoints.serverStreamingPredict",
	//   "parameterOrder": [
	//     "endpoint"
	//   ],
	//   "parameters": {
	//     "endpoint": {
	//       "description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+endpoint}:serverStreamingPredict",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1StreamingPredictRequest"
	//   },
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1StreamingPredictResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.endpoints.undeployModel":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsEndpointsUndeployModelCall) Context(ctx context.Context) *ProjectsLocationsEndpointsUndeployModelCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1undeploymodelrequest)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "Undeploys a Model from an Endpoint, removing a DeployedModel from it, and freeing all resources it's using.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:undeployModel",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.endpoints.undeployModel",
	//   "parameterOrder": [
	//     "endpoint"
	//   ],
	//   "parameters": {
	//     "endpoint": {
	//       "description": "Required. The name of the Endpoint resource from which to undeploy a Model. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+endpoint}:undeployModel",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1UndeployModelRequest"
	//   },
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.endpoints.operations.cancel":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsEndpointsOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsEndpointsOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
// non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
// returned 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
	// {
	//   "description": "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`.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}/operations/{operationsId}:cancel",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.endpoints.operations.cancel",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource to be cancelled.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}:cancel",
	//   "response": {
	//     "$ref": "GoogleProtobufEmpty"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.endpoints.operations.delete":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsEndpointsOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsEndpointsOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
// non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
// returned 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
	// {
	//   "description": "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`.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}/operations/{operationsId}",
	//   "httpMethod": "DELETE",
	//   "id": "aiplatform.projects.locations.endpoints.operations.delete",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource to be deleted.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleProtobufEmpty"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.endpoints.operations.get":

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 information.
func (c *ProjectsLocationsEndpointsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsEndpointsOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsEndpointsOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsEndpointsOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "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.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}/operations/{operationsId}",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.endpoints.operations.get",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.endpoints.operations.list":

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 information.
func (c *ProjectsLocationsEndpointsOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsEndpointsOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsEndpointsOperationsListCall) Context(ctx context.Context) *ProjectsLocationsEndpointsOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningListOperationsResponse or error will
// be non-nil. 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
	// {
	//   "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}/operations",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.endpoints.operations.list",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "filter": {
	//       "description": "The standard list filter.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "name": {
	//       "description": "The name of the operation's parent resource.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "pageSize": {
	//       "description": "The standard list page size.",
	//       "format": "int32",
	//       "location": "query",
	//       "type": "integer"
	//     },
	//     "pageToken": {
	//       "description": "The standard list page token.",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}/operations",
	//   "response": {
	//     "$ref": "GoogleLongrunningListOperationsResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// Pages invokes f for each page of results.
// 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")) // reset paging to original point
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

// method id "aiplatform.projects.locations.endpoints.operations.wait":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsEndpointsOperationsWaitCall) Context(ctx context.Context) *ProjectsLocationsEndpointsOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "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.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}/operations/{operationsId}:wait",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.endpoints.operations.wait",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource to wait on.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "timeout": {
	//       "description": "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.",
	//       "format": "google-duration",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}:wait",
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.featurestores.batchReadFeatureValues":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsFeaturestoresBatchReadFeatureValuesCall) Context(ctx context.Context) *ProjectsLocationsFeaturestoresBatchReadFeatureValuesCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1batchreadfeaturevaluesrequest)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "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.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}:batchReadFeatureValues",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.featurestores.batchReadFeatureValues",
	//   "parameterOrder": [
	//     "featurestore"
	//   ],
	//   "parameters": {
	//     "featurestore": {
	//       "description": "Required. The resource name of the Featurestore from which to query Feature values. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+featurestore}:batchReadFeatureValues",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1BatchReadFeatureValuesRequest"
	//   },
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.featurestores.create":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsFeaturestoresCreateCall) Context(ctx context.Context) *ProjectsLocationsFeaturestoresCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1featurestore)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "Creates a new Featurestore in a given project and location.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featurestores",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.featurestores.create",
	//   "parameterOrder": [
	//     "parent"
	//   ],
	//   "parameters": {
	//     "featurestoreId": {
	//       "description": "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.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "parent": {
	//       "description": "Required. The resource name of the Location to create Featurestores. Format: `projects/{project}/locations/{location}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+parent}/featurestores",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1Featurestore"
	//   },
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.featurestores.delete":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsFeaturestoresDeleteCall) Context(ctx context.Context) *ProjectsLocationsFeaturestoresDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "Deletes a single Featurestore. The Featurestore must not contain any EntityTypes or `force` must be set to true for the request to succeed.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}",
	//   "httpMethod": "DELETE",
	//   "id": "aiplatform.projects.locations.featurestores.delete",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "force": {
	//       "description": "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.)",
	//       "location": "query",
	//       "type": "boolean"
	//     },
	//     "name": {
	//       "description": "Required. The name of the Featurestore to be deleted. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.featurestores.get":

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 information.
func (c *ProjectsLocationsFeaturestoresGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeaturestoresGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsFeaturestoresGetCall) Context(ctx context.Context) *ProjectsLocationsFeaturestoresGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleCloudAiplatformV1Featurestore or error will be
// non-nil. 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
	// {
	//   "description": "Gets details of a single Featurestore.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.featurestores.get",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "Required. The name of the Featurestore resource.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1Featurestore"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.featurestores.getIamPolicy":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsFeaturestoresGetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsFeaturestoresGetIamPolicyCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleIamV1Policy or error will be non-nil. 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
	// {
	//   "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}:getIamPolicy",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.featurestores.getIamPolicy",
	//   "parameterOrder": [
	//     "resource"
	//   ],
	//   "parameters": {
	//     "options.requestedPolicyVersion": {
	//       "description": "Optional. 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).",
	//       "format": "int32",
	//       "location": "query",
	//       "type": "integer"
	//     },
	//     "resource": {
	//       "description": "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.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+resource}:getIamPolicy",
	//   "response": {
	//     "$ref": "GoogleIamV1Policy"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.featurestores.list":

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 information.
func (c *ProjectsLocationsFeaturestoresListCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeaturestoresListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsFeaturestoresListCall) Context(ctx context.Context) *ProjectsLocationsFeaturestoresListCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleCloudAiplatformV1ListFeaturestoresResponse or
// error will be non-nil. Any non-2xx status code is an error. Response
// headers are in either
// *GoogleCloudAiplatformV1ListFeaturestoresResponse.ServerResponse.Heade
// r or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was
// returned.
func (c *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
	// {
	//   "description": "Lists Featurestores in a given project and location.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featurestores",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.featurestores.list",
	//   "parameterOrder": [
	//     "parent"
	//   ],
	//   "parameters": {
	//     "filter": {
	//       "description": "Lists the featurestores that match the filter expression. The following fields are supported: * `create_time`: Supports `=`, `!=`, `\u003c`, `\u003e`, `\u003c=`, and `\u003e=` comparisons. Values must be in RFC 3339 format. * `update_time`: Supports `=`, `!=`, `\u003c`, `\u003e`, `\u003c=`, and `\u003e=` comparisons. Values must be in RFC 3339 format. * `online_serving_config.fixed_node_count`: Supports `=`, `!=`, `\u003c`, `\u003e`, `\u003c=`, and `\u003e=` comparisons. * `labels`: Supports key-value equality and key presence. Examples: * `create_time \u003e \"2020-01-01\" OR update_time \u003e \"2020-01-01\"` Featurestores created or updated after 2020-01-01. * `labels.env = \"prod\"` Featurestores with label \"env\" set to \"prod\".",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "orderBy": {
	//       "description": "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`",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "pageSize": {
	//       "description": "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.",
	//       "format": "int32",
	//       "location": "query",
	//       "type": "integer"
	//     },
	//     "pageToken": {
	//       "description": "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.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "parent": {
	//       "description": "Required. The resource name of the Location to list Featurestores. Format: `projects/{project}/locations/{location}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "readMask": {
	//       "description": "Mask specifying which fields to read.",
	//       "format": "google-fieldmask",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+parent}/featurestores",
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1ListFeaturestoresResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// Pages invokes f for each page of results.
// 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")) // reset paging to original point
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

// method id "aiplatform.projects.locations.featurestores.patch":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsFeaturestoresPatchCall) Context(ctx context.Context) *ProjectsLocationsFeaturestoresPatchCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1featurestore)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	c.urlParams_.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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "Updates the parameters of a single Featurestore.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}",
	//   "httpMethod": "PATCH",
	//   "id": "aiplatform.projects.locations.featurestores.patch",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "Output only. Name of the Featurestore. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "updateMask": {
	//       "description": "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`",
	//       "format": "google-fieldmask",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1Featurestore"
	//   },
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.featurestores.searchFeatures":

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 information.
func (c *ProjectsLocationsFeaturestoresSearchFeaturesCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeaturestoresSearchFeaturesCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsFeaturestoresSearchFeaturesCall) Context(ctx context.Context) *ProjectsLocationsFeaturestoresSearchFeaturesCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleCloudAiplatformV1SearchFeaturesResponse or
// error will be non-nil. 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
	// {
	//   "description": "Searches Features matching a query in a given project.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featurestores:searchFeatures",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.featurestores.searchFeatures",
	//   "parameterOrder": [
	//     "location"
	//   ],
	//   "parameters": {
	//     "location": {
	//       "description": "Required. The resource name of the Location to search Features. Format: `projects/{project}/locations/{location}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "pageSize": {
	//       "description": "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.",
	//       "format": "int32",
	//       "location": "query",
	//       "type": "integer"
	//     },
	//     "pageToken": {
	//       "description": "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.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "query": {
	//       "description": "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` --\u003e Matches a Feature with ID containing the substring `foo` (eg. `foo`, `foofeature`, `barfoo`). * `feature_id: foo*feature` --\u003e Matches a Feature with ID containing the substring `foo*feature` (eg. `foobarfeature`). * `feature_id: foo AND description: bar` --\u003e 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\"` --\u003e Any Feature with description exactly equal to `foo bar` * `value_type = DOUBLE` --\u003e Features whose type is DOUBLE. * `labels.active = yes AND labels.env = prod` --\u003e Features having both (active: yes) and (env: prod) labels. * `labels.env: *` --\u003e Any Feature which has a label with `env` as the key.",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+location}/featurestores:searchFeatures",
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1SearchFeaturesResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// Pages invokes f for each page of results.
// 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")) // reset paging to original point
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

// method id "aiplatform.projects.locations.featurestores.setIamPolicy":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsFeaturestoresSetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsFeaturestoresSetIamPolicyCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleiamv1setiampolicyrequest)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of *GoogleIamV1Policy or error will be non-nil. 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
	// {
	//   "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}:setIamPolicy",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.featurestores.setIamPolicy",
	//   "parameterOrder": [
	//     "resource"
	//   ],
	//   "parameters": {
	//     "resource": {
	//       "description": "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.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+resource}:setIamPolicy",
	//   "request": {
	//     "$ref": "GoogleIamV1SetIamPolicyRequest"
	//   },
	//   "response": {
	//     "$ref": "GoogleIamV1Policy"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.featurestores.testIamPermissions":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsFeaturestoresTestIamPermissionsCall) Context(ctx context.Context) *ProjectsLocationsFeaturestoresTestIamPermissionsCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleIamV1TestIamPermissionsResponse or error will
// be non-nil. 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
	// {
	//   "description": "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.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}:testIamPermissions",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.featurestores.testIamPermissions",
	//   "parameterOrder": [
	//     "resource"
	//   ],
	//   "parameters": {
	//     "permissions": {
	//       "description": "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).",
	//       "location": "query",
	//       "repeated": true,
	//       "type": "string"
	//     },
	//     "resource": {
	//       "description": "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.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+resource}:testIamPermissions",
	//   "response": {
	//     "$ref": "GoogleIamV1TestIamPermissionsResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.featurestores.entityTypes.create":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsFeaturestoresEntityTypesCreateCall) Context(ctx context.Context) *ProjectsLocationsFeaturestoresEntityTypesCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1entitytype)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "Creates a new EntityType in a given Featurestore.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.featurestores.entityTypes.create",
	//   "parameterOrder": [
	//     "parent"
	//   ],
	//   "parameters": {
	//     "entityTypeId": {
	//       "description": "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.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "parent": {
	//       "description": "Required. The resource name of the Featurestore to create EntityTypes. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+parent}/entityTypes",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1EntityType"
	//   },
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.featurestores.entityTypes.delete":

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
//     }/entityTypes/{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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsFeaturestoresEntityTypesDeleteCall) Context(ctx context.Context) *ProjectsLocationsFeaturestoresEntityTypesDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "Deletes a single EntityType. The EntityType must not have any Features or `force` must be set to true for the request to succeed.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}",
	//   "httpMethod": "DELETE",
	//   "id": "aiplatform.projects.locations.featurestores.entityTypes.delete",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "force": {
	//       "description": "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.)",
	//       "location": "query",
	//       "type": "boolean"
	//     },
	//     "name": {
	//       "description": "Required. The name of the EntityType to be deleted. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.featurestores.entityTypes.deleteFeatureValues":

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
//     }/entityTypes/{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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsFeaturestoresEntityTypesDeleteFeatureValuesCall) Context(ctx context.Context) *ProjectsLocationsFeaturestoresEntityTypesDeleteFeatureValuesCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1deletefeaturevaluesrequest)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "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.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}:deleteFeatureValues",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.featurestores.entityTypes.deleteFeatureValues",
	//   "parameterOrder": [
	//     "entityType"
	//   ],
	//   "parameters": {
	//     "entityType": {
	//       "description": "Required. The resource name of the EntityType grouping the Features for which values are being deleted from. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entityType}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+entityType}:deleteFeatureValues",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1DeleteFeatureValuesRequest"
	//   },
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.featurestores.entityTypes.exportFeatureValues":

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
//     }/entityTypes/{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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsFeaturestoresEntityTypesExportFeatureValuesCall) Context(ctx context.Context) *ProjectsLocationsFeaturestoresEntityTypesExportFeatureValuesCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1exportfeaturevaluesrequest)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "Exports Feature values from all the entities of a target EntityType.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}:exportFeatureValues",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.featurestores.entityTypes.exportFeatureValues",
	//   "parameterOrder": [
	//     "entityType"
	//   ],
	//   "parameters": {
	//     "entityType": {
	//       "description": "Required. The resource name of the EntityType from which to export Feature values. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+entityType}:exportFeatureValues",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1ExportFeatureValuesRequest"
	//   },
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.featurestores.entityTypes.get":

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
//     }/entityTypes/{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 information.
func (c *ProjectsLocationsFeaturestoresEntityTypesGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeaturestoresEntityTypesGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsFeaturestoresEntityTypesGetCall) Context(ctx context.Context) *ProjectsLocationsFeaturestoresEntityTypesGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleCloudAiplatformV1EntityType or error will be
// non-nil. 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
	// {
	//   "description": "Gets details of a single EntityType.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.featurestores.entityTypes.get",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "Required. The name of the EntityType resource. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1EntityType"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.featurestores.entityTypes.getIamPolicy":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsFeaturestoresEntityTypesGetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsFeaturestoresEntityTypesGetIamPolicyCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleIamV1Policy or error will be non-nil. 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
	// {
	//   "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}:getIamPolicy",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.featurestores.entityTypes.getIamPolicy",
	//   "parameterOrder": [
	//     "resource"
	//   ],
	//   "parameters": {
	//     "options.requestedPolicyVersion": {
	//       "description": "Optional. 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).",
	//       "format": "int32",
	//       "location": "query",
	//       "type": "integer"
	//     },
	//     "resource": {
	//       "description": "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.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+resource}:getIamPolicy",
	//   "response": {
	//     "$ref": "GoogleIamV1Policy"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.featurestores.entityTypes.importFeatureValues":

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
//     }/entityTypes/{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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsFeaturestoresEntityTypesImportFeatureValuesCall) Context(ctx context.Context) *ProjectsLocationsFeaturestoresEntityTypesImportFeatureValuesCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1importfeaturevaluesrequest)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "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.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}:importFeatureValues",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.featurestores.entityTypes.importFeatureValues",
	//   "parameterOrder": [
	//     "entityType"
	//   ],
	//   "parameters": {
	//     "entityType": {
	//       "description": "Required. The resource name of the EntityType grouping the Features for which values are being imported. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entityType}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+entityType}:importFeatureValues",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1ImportFeatureValuesRequest"
	//   },
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.featurestores.entityTypes.list":

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 information.
func (c *ProjectsLocationsFeaturestoresEntityTypesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeaturestoresEntityTypesListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsFeaturestoresEntityTypesListCall) Context(ctx context.Context) *ProjectsLocationsFeaturestoresEntityTypesListCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleCloudAiplatformV1ListEntityTypesResponse or
// error will be non-nil. 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
	// {
	//   "description": "Lists EntityTypes in a given Featurestore.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.featurestores.entityTypes.list",
	//   "parameterOrder": [
	//     "parent"
	//   ],
	//   "parameters": {
	//     "filter": {
	//       "description": "Lists the EntityTypes that match the filter expression. The following filters are supported: * `create_time`: Supports `=`, `!=`, `\u003c`, `\u003e`, `\u003e=`, and `\u003c=` comparisons. Values must be in RFC 3339 format. * `update_time`: Supports `=`, `!=`, `\u003c`, `\u003e`, `\u003e=`, and `\u003c=` comparisons. Values must be in RFC 3339 format. * `labels`: Supports key-value equality as well as key presence. Examples: * `create_time \u003e \\\"2020-01-31T15:30:00.000000Z\\\" OR update_time \u003e \\\"2020-01-31T15:30:00.000000Z\\\"` --\u003e EntityTypes created or updated after 2020-01-31T15:30:00.000000Z. * `labels.active = yes AND labels.env = prod` --\u003e EntityTypes having both (active: yes) and (env: prod) labels. * `labels.env: *` --\u003e Any EntityType which has a label with 'env' as the key.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "orderBy": {
	//       "description": "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`",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "pageSize": {
	//       "description": "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.",
	//       "format": "int32",
	//       "location": "query",
	//       "type": "integer"
	//     },
	//     "pageToken": {
	//       "description": "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.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "parent": {
	//       "description": "Required. The resource name of the Featurestore to list EntityTypes. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "readMask": {
	//       "description": "Mask specifying which fields to read.",
	//       "format": "google-fieldmask",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+parent}/entityTypes",
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1ListEntityTypesResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// Pages invokes f for each page of results.
// 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")) // reset paging to original point
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

// method id "aiplatform.projects.locations.featurestores.entityTypes.patch":

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
//     }/entityTypes/{entity_type}` The last part entity_type is assigned
//     by the client. The entity_type can be up to 64 characters long and
//     can consist only of ASCII Latin letters A-Z and a-z and
//     underscore(_), and ASCII digits 0-9 starting with a letter. The
//     value will be unique given a featurestore.
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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsFeaturestoresEntityTypesPatchCall) Context(ctx context.Context) *ProjectsLocationsFeaturestoresEntityTypesPatchCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1entitytype)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	c.urlParams_.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.
// Exactly one of *GoogleCloudAiplatformV1EntityType or error will be
// non-nil. 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
	// {
	//   "description": "Updates the parameters of a single EntityType.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}",
	//   "httpMethod": "PATCH",
	//   "id": "aiplatform.projects.locations.featurestores.entityTypes.patch",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "Immutable. Name of the EntityType. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}` The last part entity_type is assigned by the client. The entity_type can be up to 64 characters long and can consist only of ASCII Latin letters A-Z and a-z and underscore(_), and ASCII digits 0-9 starting with a letter. The value will be unique given a featurestore.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "updateMask": {
	//       "description": "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`",
	//       "format": "google-fieldmask",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1EntityType"
	//   },
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1EntityType"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.featurestores.entityTypes.readFeatureValues":

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
//     }/entityTypes/{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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsFeaturestoresEntityTypesReadFeatureValuesCall) Context(ctx context.Context) *ProjectsLocationsFeaturestoresEntityTypesReadFeatureValuesCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1readfeaturevaluesrequest)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of *GoogleCloudAiplatformV1ReadFeatureValuesResponse or
// error will be non-nil. Any non-2xx status code is an error. Response
// headers are in either
// *GoogleCloudAiplatformV1ReadFeatureValuesResponse.ServerResponse.Heade
// r or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was
// returned.
func (c *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
	// {
	//   "description": "Reads Feature values of a specific entity of an EntityType. For reading feature values of multiple entities of an EntityType, please use StreamingReadFeatureValues.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}:readFeatureValues",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.featurestores.entityTypes.readFeatureValues",
	//   "parameterOrder": [
	//     "entityType"
	//   ],
	//   "parameters": {
	//     "entityType": {
	//       "description": "Required. The resource name of the EntityType for the entity being read. Value format: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entityType}`. For example, for a machine learning model predicting user clicks on a website, an EntityType ID could be `user`.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+entityType}:readFeatureValues",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1ReadFeatureValuesRequest"
	//   },
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1ReadFeatureValuesResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.featurestores.entityTypes.setIamPolicy":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsFeaturestoresEntityTypesSetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsFeaturestoresEntityTypesSetIamPolicyCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleiamv1setiampolicyrequest)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of *GoogleIamV1Policy or error will be non-nil. 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
	// {
	//   "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}:setIamPolicy",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.featurestores.entityTypes.setIamPolicy",
	//   "parameterOrder": [
	//     "resource"
	//   ],
	//   "parameters": {
	//     "resource": {
	//       "description": "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.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+resource}:setIamPolicy",
	//   "request": {
	//     "$ref": "GoogleIamV1SetIamPolicyRequest"
	//   },
	//   "response": {
	//     "$ref": "GoogleIamV1Policy"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.featurestores.entityTypes.streamingReadFeatureValues":

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
//     }/entityTypes/{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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsFeaturestoresEntityTypesStreamingReadFeatureValuesCall) Context(ctx context.Context) *ProjectsLocationsFeaturestoresEntityTypesStreamingReadFeatureValuesCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1streamingreadfeaturevaluesrequest)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of *GoogleCloudAiplatformV1ReadFeatureValuesResponse or
// error will be non-nil. Any non-2xx status code is an error. Response
// headers are in either
// *GoogleCloudAiplatformV1ReadFeatureValuesResponse.ServerResponse.Heade
// r or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was
// returned.
func (c *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
	// {
	//   "description": "Reads Feature values for multiple entities. Depending on their size, data for different entities may be broken up across multiple responses.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}:streamingReadFeatureValues",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.featurestores.entityTypes.streamingReadFeatureValues",
	//   "parameterOrder": [
	//     "entityType"
	//   ],
	//   "parameters": {
	//     "entityType": {
	//       "description": "Required. The resource name of the entities' type. Value format: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entityType}`. For example, for a machine learning model predicting user clicks on a website, an EntityType ID could be `user`.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+entityType}:streamingReadFeatureValues",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1StreamingReadFeatureValuesRequest"
	//   },
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1ReadFeatureValuesResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.featurestores.entityTypes.testIamPermissions":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsFeaturestoresEntityTypesTestIamPermissionsCall) Context(ctx context.Context) *ProjectsLocationsFeaturestoresEntityTypesTestIamPermissionsCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleIamV1TestIamPermissionsResponse or error will
// be non-nil. 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
	// {
	//   "description": "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.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}:testIamPermissions",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.featurestores.entityTypes.testIamPermissions",
	//   "parameterOrder": [
	//     "resource"
	//   ],
	//   "parameters": {
	//     "permissions": {
	//       "description": "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).",
	//       "location": "query",
	//       "repeated": true,
	//       "type": "string"
	//     },
	//     "resource": {
	//       "description": "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.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+resource}:testIamPermissions",
	//   "response": {
	//     "$ref": "GoogleIamV1TestIamPermissionsResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.featurestores.entityTypes.writeFeatureValues":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsFeaturestoresEntityTypesWriteFeatureValuesCall) Context(ctx context.Context) *ProjectsLocationsFeaturestoresEntityTypesWriteFeatureValuesCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1writefeaturevaluesrequest)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of *GoogleCloudAiplatformV1WriteFeatureValuesResponse or
// error will be non-nil. Any non-2xx status code is an error. Response
// headers are in either
// *GoogleCloudAiplatformV1WriteFeatureValuesResponse.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 *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
	// {
	//   "description": "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.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}:writeFeatureValues",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.featurestores.entityTypes.writeFeatureValues",
	//   "parameterOrder": [
	//     "entityType"
	//   ],
	//   "parameters": {
	//     "entityType": {
	//       "description": "Required. The resource name of the EntityType for the entities being written. Value format: `projects/{project}/locations/{location}/featurestores/ {featurestore}/entityTypes/{entityType}`. For example, for a machine learning model predicting user clicks on a website, an EntityType ID could be `user`.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+entityType}:writeFeatureValues",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1WriteFeatureValuesRequest"
	//   },
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1WriteFeatureValuesResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.featurestores.entityTypes.features.batchCreate":

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
//     }/entityTypes/{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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsFeaturestoresEntityTypesFeaturesBatchCreateCall) Context(ctx context.Context) *ProjectsLocationsFeaturestoresEntityTypesFeaturesBatchCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1batchcreatefeaturesrequest)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "Creates a batch of Features in a given EntityType.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/features:batchCreate",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.featurestores.entityTypes.features.batchCreate",
	//   "parameterOrder": [
	//     "parent"
	//   ],
	//   "parameters": {
	//     "parent": {
	//       "description": "Required. The resource name of the EntityType to create the batch of Features under. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+parent}/features:batchCreate",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1BatchCreateFeaturesRequest"
	//   },
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.featurestores.entityTypes.features.create":

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: .
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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsFeaturestoresEntityTypesFeaturesCreateCall) Context(ctx context.Context) *ProjectsLocationsFeaturestoresEntityTypesFeaturesCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1feature)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "Creates a new Feature in a given EntityType.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/features",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.featurestores.entityTypes.features.create",
	//   "parameterOrder": [
	//     "parent"
	//   ],
	//   "parameters": {
	//     "featureId": {
	//       "description": "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.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "parent": {
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+parent}/features",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1Feature"
	//   },
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.featurestores.entityTypes.features.delete":

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
//     }/entityTypes/{entity_type}/features/{feature}`
//     `projects/{project}/locations/{location}/featureGroups/{feature_grou
//     p}/features/{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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsFeaturestoresEntityTypesFeaturesDeleteCall) Context(ctx context.Context) *ProjectsLocationsFeaturestoresEntityTypesFeaturesDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "Deletes a single Feature.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/features/{featuresId}",
	//   "httpMethod": "DELETE",
	//   "id": "aiplatform.projects.locations.featurestores.entityTypes.features.delete",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "Required. The name of the Features to be deleted. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}/features/{feature}` `projects/{project}/locations/{location}/featureGroups/{feature_group}/features/{feature}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+/features/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.featurestores.entityTypes.features.get":

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:
//     `projects/{project}/locations/{location}/featurestores/{featurestore
//     }/entityTypes/{entity_type}`
//     `projects/{project}/locations/{location}/featureGroups/{feature_grou
//     p}`.
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 information.
func (c *ProjectsLocationsFeaturestoresEntityTypesFeaturesGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeaturestoresEntityTypesFeaturesGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsFeaturestoresEntityTypesFeaturesGetCall) Context(ctx context.Context) *ProjectsLocationsFeaturestoresEntityTypesFeaturesGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleCloudAiplatformV1Feature or error will be
// non-nil. 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
	// {
	//   "description": "Gets details of a single Feature.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/features/{featuresId}",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.featurestores.entityTypes.features.get",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "Required. The name of the Feature resource. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}` `projects/{project}/locations/{location}/featureGroups/{feature_group}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+/features/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1Feature"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.featurestores.entityTypes.features.list":

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:
//     `projects/{project}/locations/{location}/featurestores/{featurestore
//     }/entityTypes/{entity_type}`
//     `projects/{project}/locations/{location}/featureGroups/{feature_grou
//     p}`.
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": 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.
// Provide this to retrieve the subsequent page. When paginating, all
// other parameters provided to FeaturestoreService.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 information.
func (c *ProjectsLocationsFeaturestoresEntityTypesFeaturesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeaturestoresEntityTypesFeaturesListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsFeaturestoresEntityTypesFeaturesListCall) Context(ctx context.Context) *ProjectsLocationsFeaturestoresEntityTypesFeaturesListCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleCloudAiplatformV1ListFeaturesResponse or error
// will be non-nil. 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
	// {
	//   "description": "Lists Features in a given EntityType.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/features",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.featurestores.entityTypes.features.list",
	//   "parameterOrder": [
	//     "parent"
	//   ],
	//   "parameters": {
	//     "filter": {
	//       "description": "Lists the Features that match the filter expression. The following filters are supported: * `value_type`: Supports = and != comparisons. * `create_time`: Supports =, !=, \u003c, \u003e, \u003e=, and \u003c= comparisons. Values must be in RFC 3339 format. * `update_time`: Supports =, !=, \u003c, \u003e, \u003e=, and \u003c= comparisons. Values must be in RFC 3339 format. * `labels`: Supports key-value equality as well as key presence. Examples: * `value_type = DOUBLE` --\u003e Features whose type is DOUBLE. * `create_time \u003e \\\"2020-01-31T15:30:00.000000Z\\\" OR update_time \u003e \\\"2020-01-31T15:30:00.000000Z\\\"` --\u003e EntityTypes created or updated after 2020-01-31T15:30:00.000000Z. * `labels.active = yes AND labels.env = prod` --\u003e Features having both (active: yes) and (env: prod) labels. * `labels.env: *` --\u003e Any Feature which has a label with 'env' as the key.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "latestStatsCount": {
	//       "description": "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 \u003c ListFeaturesRequest.latest_stats_count, return all existing stats.",
	//       "format": "int32",
	//       "location": "query",
	//       "type": "integer"
	//     },
	//     "orderBy": {
	//       "description": "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`",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "pageSize": {
	//       "description": "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.",
	//       "format": "int32",
	//       "location": "query",
	//       "type": "integer"
	//     },
	//     "pageToken": {
	//       "description": "A page token, received from a previous FeaturestoreService.ListFeatures call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to FeaturestoreService.ListFeatures must match the call that provided the page token.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "parent": {
	//       "description": "Required. The resource name of the Location to list Features. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}` `projects/{project}/locations/{location}/featureGroups/{feature_group}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "readMask": {
	//       "description": "Mask specifying which fields to read.",
	//       "format": "google-fieldmask",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+parent}/features",
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1ListFeaturesResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// Pages invokes f for each page of results.
// 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")) // reset paging to original point
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

// method id "aiplatform.projects.locations.featurestores.entityTypes.features.patch":

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
//     }/entityTypes/{entity_type}/features/{feature}` The last part
//     feature is assigned by the client. The feature can be up to 64
//     characters long and can consist only of ASCII Latin letters A-Z and
//     a-z, underscore(_), and ASCII digits 0-9 starting with a letter.
//     The value will be unique given an entity type.
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`
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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsFeaturestoresEntityTypesFeaturesPatchCall) Context(ctx context.Context) *ProjectsLocationsFeaturestoresEntityTypesFeaturesPatchCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1feature)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	c.urlParams_.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.
// Exactly one of *GoogleCloudAiplatformV1Feature or error will be
// non-nil. 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
	// {
	//   "description": "Updates the parameters of a single Feature.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/features/{featuresId}",
	//   "httpMethod": "PATCH",
	//   "id": "aiplatform.projects.locations.featurestores.entityTypes.features.patch",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "Immutable. Name of the Feature. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}/features/{feature}` The last part feature is assigned by the client. The feature can be up to 64 characters long and can consist only of ASCII Latin letters A-Z and a-z, underscore(_), and ASCII digits 0-9 starting with a letter. The value will be unique given an entity type.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+/features/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "updateMask": {
	//       "description": "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`",
	//       "format": "google-fieldmask",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1Feature"
	//   },
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1Feature"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.featurestores.entityTypes.features.operations.cancel":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsFeaturestoresEntityTypesFeaturesOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsFeaturestoresEntityTypesFeaturesOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
// non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
// returned 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
	// {
	//   "description": "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`.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/features/{featuresId}/operations/{operationsId}:cancel",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.featurestores.entityTypes.features.operations.cancel",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource to be cancelled.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+/features/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}:cancel",
	//   "response": {
	//     "$ref": "GoogleProtobufEmpty"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.featurestores.entityTypes.features.operations.delete":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsFeaturestoresEntityTypesFeaturesOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsFeaturestoresEntityTypesFeaturesOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
// non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
// returned 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
	// {
	//   "description": "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`.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/features/{featuresId}/operations/{operationsId}",
	//   "httpMethod": "DELETE",
	//   "id": "aiplatform.projects.locations.featurestores.entityTypes.features.operations.delete",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource to be deleted.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+/features/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleProtobufEmpty"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.featurestores.entityTypes.features.operations.get":

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 information.
func (c *ProjectsLocationsFeaturestoresEntityTypesFeaturesOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeaturestoresEntityTypesFeaturesOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsFeaturestoresEntityTypesFeaturesOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsFeaturestoresEntityTypesFeaturesOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "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.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/features/{featuresId}/operations/{operationsId}",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.featurestores.entityTypes.features.operations.get",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+/features/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.featurestores.entityTypes.features.operations.list":

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 information.
func (c *ProjectsLocationsFeaturestoresEntityTypesFeaturesOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeaturestoresEntityTypesFeaturesOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsFeaturestoresEntityTypesFeaturesOperationsListCall) Context(ctx context.Context) *ProjectsLocationsFeaturestoresEntityTypesFeaturesOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningListOperationsResponse or error will
// be non-nil. 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
	// {
	//   "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/features/{featuresId}/operations",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.featurestores.entityTypes.features.operations.list",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "filter": {
	//       "description": "The standard list filter.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "name": {
	//       "description": "The name of the operation's parent resource.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+/features/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "pageSize": {
	//       "description": "The standard list page size.",
	//       "format": "int32",
	//       "location": "query",
	//       "type": "integer"
	//     },
	//     "pageToken": {
	//       "description": "The standard list page token.",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}/operations",
	//   "response": {
	//     "$ref": "GoogleLongrunningListOperationsResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// Pages invokes f for each page of results.
// 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")) // reset paging to original point
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

// method id "aiplatform.projects.locations.featurestores.entityTypes.features.operations.wait":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsFeaturestoresEntityTypesFeaturesOperationsWaitCall) Context(ctx context.Context) *ProjectsLocationsFeaturestoresEntityTypesFeaturesOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "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.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/features/{featuresId}/operations/{operationsId}:wait",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.featurestores.entityTypes.features.operations.wait",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource to wait on.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+/features/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "timeout": {
	//       "description": "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.",
	//       "format": "google-duration",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}:wait",
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.featurestores.entityTypes.operations.cancel":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsFeaturestoresEntityTypesOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsFeaturestoresEntityTypesOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
// non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
// returned 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
	// {
	//   "description": "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`.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/operations/{operationsId}:cancel",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.featurestores.entityTypes.operations.cancel",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource to be cancelled.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}:cancel",
	//   "response": {
	//     "$ref": "GoogleProtobufEmpty"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.featurestores.entityTypes.operations.delete":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsFeaturestoresEntityTypesOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsFeaturestoresEntityTypesOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
// non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
// returned 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
	// {
	//   "description": "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`.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/operations/{operationsId}",
	//   "httpMethod": "DELETE",
	//   "id": "aiplatform.projects.locations.featurestores.entityTypes.operations.delete",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource to be deleted.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleProtobufEmpty"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.featurestores.entityTypes.operations.get":

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 information.
func (c *ProjectsLocationsFeaturestoresEntityTypesOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeaturestoresEntityTypesOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsFeaturestoresEntityTypesOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsFeaturestoresEntityTypesOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "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.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/operations/{operationsId}",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.featurestores.entityTypes.operations.get",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.featurestores.entityTypes.operations.list":

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 information.
func (c *ProjectsLocationsFeaturestoresEntityTypesOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeaturestoresEntityTypesOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsFeaturestoresEntityTypesOperationsListCall) Context(ctx context.Context) *ProjectsLocationsFeaturestoresEntityTypesOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningListOperationsResponse or error will
// be non-nil. 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
	// {
	//   "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/operations",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.featurestores.entityTypes.operations.list",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "filter": {
	//       "description": "The standard list filter.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "name": {
	//       "description": "The name of the operation's parent resource.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "pageSize": {
	//       "description": "The standard list page size.",
	//       "format": "int32",
	//       "location": "query",
	//       "type": "integer"
	//     },
	//     "pageToken": {
	//       "description": "The standard list page token.",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}/operations",
	//   "response": {
	//     "$ref": "GoogleLongrunningListOperationsResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// Pages invokes f for each page of results.
// 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")) // reset paging to original point
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

// method id "aiplatform.projects.locations.featurestores.entityTypes.operations.wait":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsFeaturestoresEntityTypesOperationsWaitCall) Context(ctx context.Context) *ProjectsLocationsFeaturestoresEntityTypesOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "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.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/operations/{operationsId}:wait",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.featurestores.entityTypes.operations.wait",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource to wait on.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/entityTypes/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "timeout": {
	//       "description": "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.",
	//       "format": "google-duration",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}:wait",
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.featurestores.operations.cancel":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsFeaturestoresOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsFeaturestoresOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
// non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
// returned 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
	// {
	//   "description": "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`.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/operations/{operationsId}:cancel",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.featurestores.operations.cancel",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource to be cancelled.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}:cancel",
	//   "response": {
	//     "$ref": "GoogleProtobufEmpty"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.featurestores.operations.delete":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsFeaturestoresOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsFeaturestoresOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
// non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
// returned 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
	// {
	//   "description": "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`.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/operations/{operationsId}",
	//   "httpMethod": "DELETE",
	//   "id": "aiplatform.projects.locations.featurestores.operations.delete",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource to be deleted.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleProtobufEmpty"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.featurestores.operations.get":

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 information.
func (c *ProjectsLocationsFeaturestoresOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeaturestoresOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsFeaturestoresOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsFeaturestoresOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "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.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/operations/{operationsId}",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.featurestores.operations.get",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.featurestores.operations.list":

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 information.
func (c *ProjectsLocationsFeaturestoresOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsFeaturestoresOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsFeaturestoresOperationsListCall) Context(ctx context.Context) *ProjectsLocationsFeaturestoresOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningListOperationsResponse or error will
// be non-nil. 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
	// {
	//   "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/operations",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.featurestores.operations.list",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "filter": {
	//       "description": "The standard list filter.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "name": {
	//       "description": "The name of the operation's parent resource.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "pageSize": {
	//       "description": "The standard list page size.",
	//       "format": "int32",
	//       "location": "query",
	//       "type": "integer"
	//     },
	//     "pageToken": {
	//       "description": "The standard list page token.",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}/operations",
	//   "response": {
	//     "$ref": "GoogleLongrunningListOperationsResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// Pages invokes f for each page of results.
// 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")) // reset paging to original point
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

// method id "aiplatform.projects.locations.featurestores.operations.wait":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsFeaturestoresOperationsWaitCall) Context(ctx context.Context) *ProjectsLocationsFeaturestoresOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "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.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/operations/{operationsId}:wait",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.featurestores.operations.wait",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource to wait on.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/featurestores/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "timeout": {
	//       "description": "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.",
	//       "format": "google-duration",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}:wait",
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.hyperparameterTuningJobs.cancel":

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/{h
//     yperparameter_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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsHyperparameterTuningJobsCancelCall) Context(ctx context.Context) *ProjectsLocationsHyperparameterTuningJobsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1cancelhyperparametertuningjobrequest)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
// non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
// returned 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
	// {
	//   "description": "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`.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/hyperparameterTuningJobs/{hyperparameterTuningJobsId}:cancel",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.hyperparameterTuningJobs.cancel",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "Required. The name of the HyperparameterTuningJob to cancel. Format: `projects/{project}/locations/{location}/hyperparameterTuningJobs/{hyperparameter_tuning_job}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/hyperparameterTuningJobs/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}:cancel",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1CancelHyperparameterTuningJobRequest"
	//   },
	//   "response": {
	//     "$ref": "GoogleProtobufEmpty"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.hyperparameterTuningJobs.create":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsHyperparameterTuningJobsCreateCall) Context(ctx context.Context) *ProjectsLocationsHyperparameterTuningJobsCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1hyperparametertuningjob)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of *GoogleCloudAiplatformV1HyperparameterTuningJob or
// error will be non-nil. 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
	// {
	//   "description": "Creates a HyperparameterTuningJob",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/hyperparameterTuningJobs",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.hyperparameterTuningJobs.create",
	//   "parameterOrder": [
	//     "parent"
	//   ],
	//   "parameters": {
	//     "parent": {
	//       "description": "Required. The resource name of the Location to create the HyperparameterTuningJob in. Format: `projects/{project}/locations/{location}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+parent}/hyperparameterTuningJobs",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1HyperparameterTuningJob"
	//   },
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1HyperparameterTuningJob"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.hyperparameterTuningJobs.delete":

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/{h
//     yperparameter_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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsHyperparameterTuningJobsDeleteCall) Context(ctx context.Context) *ProjectsLocationsHyperparameterTuningJobsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "Deletes a HyperparameterTuningJob.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/hyperparameterTuningJobs/{hyperparameterTuningJobsId}",
	//   "httpMethod": "DELETE",
	//   "id": "aiplatform.projects.locations.hyperparameterTuningJobs.delete",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "Required. The name of the HyperparameterTuningJob resource to be deleted. Format: `projects/{project}/locations/{location}/hyperparameterTuningJobs/{hyperparameter_tuning_job}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/hyperparameterTuningJobs/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.hyperparameterTuningJobs.get":

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/{h
//     yperparameter_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 information.
func (c *ProjectsLocationsHyperparameterTuningJobsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsHyperparameterTuningJobsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsHyperparameterTuningJobsGetCall) Context(ctx context.Context) *ProjectsLocationsHyperparameterTuningJobsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleCloudAiplatformV1HyperparameterTuningJob or
// error will be non-nil. 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
	// {
	//   "description": "Gets a HyperparameterTuningJob",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/hyperparameterTuningJobs/{hyperparameterTuningJobsId}",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.hyperparameterTuningJobs.get",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "Required. The name of the HyperparameterTuningJob resource. Format: `projects/{project}/locations/{location}/hyperparameterTuningJobs/{hyperparameter_tuning_job}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/hyperparameterTuningJobs/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1HyperparameterTuningJob"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.hyperparameterTuningJobs.list":

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 information.
func (c *ProjectsLocationsHyperparameterTuningJobsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsHyperparameterTuningJobsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsHyperparameterTuningJobsListCall) Context(ctx context.Context) *ProjectsLocationsHyperparameterTuningJobsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of
// *GoogleCloudAiplatformV1ListHyperparameterTuningJobsResponse or error
// will be non-nil. Any non-2xx status code is an error. Response
// headers are in either
// *GoogleCloudAiplatformV1ListHyperparameterTuningJobsResponse.ServerRes
// ponse.Header or (if a response was returned 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
	// {
	//   "description": "Lists HyperparameterTuningJobs in a Location.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/hyperparameterTuningJobs",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.hyperparameterTuningJobs.list",
	//   "parameterOrder": [
	//     "parent"
	//   ],
	//   "parameters": {
	//     "filter": {
	//       "description": "The standard list filter. Supported fields: * `display_name` supports `=`, `!=` comparisons, and `:` wildcard. * `state` supports `=`, `!=` comparisons. * `create_time` supports `=`, `!=`,`\u003c`, `\u003c=`,`\u003e`, `\u003e=` 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\u003e\"2021-05-18T00:00:00Z\"` * `labels.keyA=valueA` * `labels.keyB:*`",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "pageSize": {
	//       "description": "The standard list page size.",
	//       "format": "int32",
	//       "location": "query",
	//       "type": "integer"
	//     },
	//     "pageToken": {
	//       "description": "The standard list page token. Typically obtained via ListHyperparameterTuningJobsResponse.next_page_token of the previous JobService.ListHyperparameterTuningJobs call.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "parent": {
	//       "description": "Required. The resource name of the Location to list the HyperparameterTuningJobs from. Format: `projects/{project}/locations/{location}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "readMask": {
	//       "description": "Mask specifying which fields to read.",
	//       "format": "google-fieldmask",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+parent}/hyperparameterTuningJobs",
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1ListHyperparameterTuningJobsResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// Pages invokes f for each page of results.
// 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")) // reset paging to original point
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

// method id "aiplatform.projects.locations.hyperparameterTuningJobs.operations.cancel":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsHyperparameterTuningJobsOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsHyperparameterTuningJobsOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
// non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
// returned 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
	// {
	//   "description": "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`.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/hyperparameterTuningJobs/{hyperparameterTuningJobsId}/operations/{operationsId}:cancel",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.hyperparameterTuningJobs.operations.cancel",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource to be cancelled.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/hyperparameterTuningJobs/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}:cancel",
	//   "response": {
	//     "$ref": "GoogleProtobufEmpty"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.hyperparameterTuningJobs.operations.delete":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsHyperparameterTuningJobsOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsHyperparameterTuningJobsOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
// non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
// returned 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
	// {
	//   "description": "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`.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/hyperparameterTuningJobs/{hyperparameterTuningJobsId}/operations/{operationsId}",
	//   "httpMethod": "DELETE",
	//   "id": "aiplatform.projects.locations.hyperparameterTuningJobs.operations.delete",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource to be deleted.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/hyperparameterTuningJobs/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleProtobufEmpty"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.hyperparameterTuningJobs.operations.get":

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 information.
func (c *ProjectsLocationsHyperparameterTuningJobsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsHyperparameterTuningJobsOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsHyperparameterTuningJobsOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsHyperparameterTuningJobsOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "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.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/hyperparameterTuningJobs/{hyperparameterTuningJobsId}/operations/{operationsId}",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.hyperparameterTuningJobs.operations.get",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/hyperparameterTuningJobs/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.hyperparameterTuningJobs.operations.list":

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 information.
func (c *ProjectsLocationsHyperparameterTuningJobsOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsHyperparameterTuningJobsOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsHyperparameterTuningJobsOperationsListCall) Context(ctx context.Context) *ProjectsLocationsHyperparameterTuningJobsOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningListOperationsResponse or error will
// be non-nil. 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
	// {
	//   "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/hyperparameterTuningJobs/{hyperparameterTuningJobsId}/operations",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.hyperparameterTuningJobs.operations.list",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "filter": {
	//       "description": "The standard list filter.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "name": {
	//       "description": "The name of the operation's parent resource.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/hyperparameterTuningJobs/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "pageSize": {
	//       "description": "The standard list page size.",
	//       "format": "int32",
	//       "location": "query",
	//       "type": "integer"
	//     },
	//     "pageToken": {
	//       "description": "The standard list page token.",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}/operations",
	//   "response": {
	//     "$ref": "GoogleLongrunningListOperationsResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// Pages invokes f for each page of results.
// 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")) // reset paging to original point
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

// method id "aiplatform.projects.locations.hyperparameterTuningJobs.operations.wait":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsHyperparameterTuningJobsOperationsWaitCall) Context(ctx context.Context) *ProjectsLocationsHyperparameterTuningJobsOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "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.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/hyperparameterTuningJobs/{hyperparameterTuningJobsId}/operations/{operationsId}:wait",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.hyperparameterTuningJobs.operations.wait",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource to wait on.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/hyperparameterTuningJobs/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "timeout": {
	//       "description": "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.",
	//       "format": "google-duration",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}:wait",
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.indexEndpoints.create":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsIndexEndpointsCreateCall) Context(ctx context.Context) *ProjectsLocationsIndexEndpointsCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1indexendpoint)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "Creates an IndexEndpoint.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/indexEndpoints",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.indexEndpoints.create",
	//   "parameterOrder": [
	//     "parent"
	//   ],
	//   "parameters": {
	//     "parent": {
	//       "description": "Required. The resource name of the Location to create the IndexEndpoint in. Format: `projects/{project}/locations/{location}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+parent}/indexEndpoints",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1IndexEndpoint"
	//   },
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.indexEndpoints.delete":

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_endpo
//     int}`.
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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsIndexEndpointsDeleteCall) Context(ctx context.Context) *ProjectsLocationsIndexEndpointsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "Deletes an IndexEndpoint.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/indexEndpoints/{indexEndpointsId}",
	//   "httpMethod": "DELETE",
	//   "id": "aiplatform.projects.locations.indexEndpoints.delete",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "Required. The name of the IndexEndpoint resource to be deleted. Format: `projects/{project}/locations/{location}/indexEndpoints/{index_endpoint}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/indexEndpoints/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.indexEndpoints.deployIndex":

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_endpo
//     int}`.
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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsIndexEndpointsDeployIndexCall) Context(ctx context.Context) *ProjectsLocationsIndexEndpointsDeployIndexCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1deployindexrequest)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "Deploys an Index into this IndexEndpoint, creating a DeployedIndex within it. Only non-empty Indexes can be deployed.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/indexEndpoints/{indexEndpointsId}:deployIndex",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.indexEndpoints.deployIndex",
	//   "parameterOrder": [
	//     "indexEndpoint"
	//   ],
	//   "parameters": {
	//     "indexEndpoint": {
	//       "description": "Required. The name of the IndexEndpoint resource into which to deploy an Index. Format: `projects/{project}/locations/{location}/indexEndpoints/{index_endpoint}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/indexEndpoints/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+indexEndpoint}:deployIndex",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1DeployIndexRequest"
	//   },
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.indexEndpoints.findNeighbors":

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_endpo
//     int}`.
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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsIndexEndpointsFindNeighborsCall) Context(ctx context.Context) *ProjectsLocationsIndexEndpointsFindNeighborsCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1findneighborsrequest)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of *GoogleCloudAiplatformV1FindNeighborsResponse or error
// will be non-nil. 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
	// {
	//   "description": "Finds the nearest neighbors of each vector within the request.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/indexEndpoints/{indexEndpointsId}:findNeighbors",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.indexEndpoints.findNeighbors",
	//   "parameterOrder": [
	//     "indexEndpoint"
	//   ],
	//   "parameters": {
	//     "indexEndpoint": {
	//       "description": "Required. The name of the index endpoint. Format: `projects/{project}/locations/{location}/indexEndpoints/{index_endpoint}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/indexEndpoints/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+indexEndpoint}:findNeighbors",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1FindNeighborsRequest"
	//   },
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1FindNeighborsResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.indexEndpoints.get":

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_endpo
//     int}`.
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 information.
func (c *ProjectsLocationsIndexEndpointsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsIndexEndpointsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsIndexEndpointsGetCall) Context(ctx context.Context) *ProjectsLocationsIndexEndpointsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleCloudAiplatformV1IndexEndpoint or error will be
// non-nil. 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
	// {
	//   "description": "Gets an IndexEndpoint.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/indexEndpoints/{indexEndpointsId}",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.indexEndpoints.get",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "Required. The name of the IndexEndpoint resource. Format: `projects/{project}/locations/{location}/indexEndpoints/{index_endpoint}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/indexEndpoints/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1IndexEndpoint"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.indexEndpoints.list":

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 information.
func (c *ProjectsLocationsIndexEndpointsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsIndexEndpointsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsIndexEndpointsListCall) Context(ctx context.Context) *ProjectsLocationsIndexEndpointsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleCloudAiplatformV1ListIndexEndpointsResponse or
// error will be non-nil. Any non-2xx status code is an error. Response
// headers are in either
// *GoogleCloudAiplatformV1ListIndexEndpointsResponse.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 *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
	// {
	//   "description": "Lists IndexEndpoints in a Location.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/indexEndpoints",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.indexEndpoints.list",
	//   "parameterOrder": [
	//     "parent"
	//   ],
	//   "parameters": {
	//     "filter": {
	//       "description": "Optional. An expression for filtering the results of the request. For field names both snake_case and camelCase are supported. * `index_endpoint` supports = and !=. `index_endpoint` represents the IndexEndpoint ID, ie. the last segment of the IndexEndpoint's resourcename. * `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\") -\u003e The display name starts with an A. * `labels.myKey=\"myValue\"`",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "pageSize": {
	//       "description": "Optional. The standard list page size.",
	//       "format": "int32",
	//       "location": "query",
	//       "type": "integer"
	//     },
	//     "pageToken": {
	//       "description": "Optional. The standard list page token. Typically obtained via ListIndexEndpointsResponse.next_page_token of the previous IndexEndpointService.ListIndexEndpoints call.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "parent": {
	//       "description": "Required. The resource name of the Location from which to list the IndexEndpoints. Format: `projects/{project}/locations/{location}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "readMask": {
	//       "description": "Optional. Mask specifying which fields to read.",
	//       "format": "google-fieldmask",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+parent}/indexEndpoints",
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1ListIndexEndpointsResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// Pages invokes f for each page of results.
// 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")) // reset paging to original point
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

// method id "aiplatform.projects.locations.indexEndpoints.mutateDeployedIndex":

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_endpo
//     int}`.
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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsIndexEndpointsMutateDeployedIndexCall) Context(ctx context.Context) *ProjectsLocationsIndexEndpointsMutateDeployedIndexCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1deployedindex)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "Update an existing DeployedIndex under an IndexEndpoint.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/indexEndpoints/{indexEndpointsId}:mutateDeployedIndex",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.indexEndpoints.mutateDeployedIndex",
	//   "parameterOrder": [
	//     "indexEndpoint"
	//   ],
	//   "parameters": {
	//     "indexEndpoint": {
	//       "description": "Required. The name of the IndexEndpoint resource into which to deploy an Index. Format: `projects/{project}/locations/{location}/indexEndpoints/{index_endpoint}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/indexEndpoints/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+indexEndpoint}:mutateDeployedIndex",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1DeployedIndex"
	//   },
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.indexEndpoints.patch":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsIndexEndpointsPatchCall) Context(ctx context.Context) *ProjectsLocationsIndexEndpointsPatchCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1indexendpoint)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	c.urlParams_.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.
// Exactly one of *GoogleCloudAiplatformV1IndexEndpoint or error will be
// non-nil. 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
	// {
	//   "description": "Updates an IndexEndpoint.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/indexEndpoints/{indexEndpointsId}",
	//   "httpMethod": "PATCH",
	//   "id": "aiplatform.projects.locations.indexEndpoints.patch",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "Output only. The resource name of the IndexEndpoint.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/indexEndpoints/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "updateMask": {
	//       "description": "Required. The update mask applies to the resource. See google.protobuf.FieldMask.",
	//       "format": "google-fieldmask",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1IndexEndpoint"
	//   },
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1IndexEndpoint"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.indexEndpoints.readIndexDatapoints":

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_endpo
//     int}`.
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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsIndexEndpointsReadIndexDatapointsCall) Context(ctx context.Context) *ProjectsLocationsIndexEndpointsReadIndexDatapointsCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1readindexdatapointsrequest)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of *GoogleCloudAiplatformV1ReadIndexDatapointsResponse or
// error will be non-nil. Any non-2xx status code is an error. Response
// headers are in either
// *GoogleCloudAiplatformV1ReadIndexDatapointsResponse.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 *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
	// {
	//   "description": "Reads the datapoints/vectors of the given IDs. A maximum of 1000 datapoints can be retrieved in a batch.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/indexEndpoints/{indexEndpointsId}:readIndexDatapoints",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.indexEndpoints.readIndexDatapoints",
	//   "parameterOrder": [
	//     "indexEndpoint"
	//   ],
	//   "parameters": {
	//     "indexEndpoint": {
	//       "description": "Required. The name of the index endpoint. Format: `projects/{project}/locations/{location}/indexEndpoints/{index_endpoint}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/indexEndpoints/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+indexEndpoint}:readIndexDatapoints",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1ReadIndexDatapointsRequest"
	//   },
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1ReadIndexDatapointsResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.indexEndpoints.undeployIndex":

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_endpo
//     int}`.
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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsIndexEndpointsUndeployIndexCall) Context(ctx context.Context) *ProjectsLocationsIndexEndpointsUndeployIndexCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1undeployindexrequest)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "Undeploys an Index from an IndexEndpoint, removing a DeployedIndex from it, and freeing all resources it's using.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/indexEndpoints/{indexEndpointsId}:undeployIndex",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.indexEndpoints.undeployIndex",
	//   "parameterOrder": [
	//     "indexEndpoint"
	//   ],
	//   "parameters": {
	//     "indexEndpoint": {
	//       "description": "Required. The name of the IndexEndpoint resource from which to undeploy an Index. Format: `projects/{project}/locations/{location}/indexEndpoints/{index_endpoint}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/indexEndpoints/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+indexEndpoint}:undeployIndex",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1UndeployIndexRequest"
	//   },
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.indexEndpoints.operations.cancel":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsIndexEndpointsOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsIndexEndpointsOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
// non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
// returned 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
	// {
	//   "description": "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`.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/indexEndpoints/{indexEndpointsId}/operations/{operationsId}:cancel",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.indexEndpoints.operations.cancel",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource to be cancelled.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/indexEndpoints/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}:cancel",
	//   "response": {
	//     "$ref": "GoogleProtobufEmpty"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.indexEndpoints.operations.delete":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsIndexEndpointsOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsIndexEndpointsOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
// non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
// returned 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
	// {
	//   "description": "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`.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/indexEndpoints/{indexEndpointsId}/operations/{operationsId}",
	//   "httpMethod": "DELETE",
	//   "id": "aiplatform.projects.locations.indexEndpoints.operations.delete",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource to be deleted.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/indexEndpoints/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleProtobufEmpty"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.indexEndpoints.operations.get":

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 information.
func (c *ProjectsLocationsIndexEndpointsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsIndexEndpointsOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsIndexEndpointsOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsIndexEndpointsOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "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.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/indexEndpoints/{indexEndpointsId}/operations/{operationsId}",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.indexEndpoints.operations.get",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/indexEndpoints/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.indexEndpoints.operations.list":

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 information.
func (c *ProjectsLocationsIndexEndpointsOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsIndexEndpointsOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsIndexEndpointsOperationsListCall) Context(ctx context.Context) *ProjectsLocationsIndexEndpointsOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningListOperationsResponse or error will
// be non-nil. 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
	// {
	//   "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/indexEndpoints/{indexEndpointsId}/operations",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.indexEndpoints.operations.list",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "filter": {
	//       "description": "The standard list filter.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "name": {
	//       "description": "The name of the operation's parent resource.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/indexEndpoints/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "pageSize": {
	//       "description": "The standard list page size.",
	//       "format": "int32",
	//       "location": "query",
	//       "type": "integer"
	//     },
	//     "pageToken": {
	//       "description": "The standard list page token.",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}/operations",
	//   "response": {
	//     "$ref": "GoogleLongrunningListOperationsResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// Pages invokes f for each page of results.
// 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")) // reset paging to original point
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

// method id "aiplatform.projects.locations.indexEndpoints.operations.wait":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsIndexEndpointsOperationsWaitCall) Context(ctx context.Context) *ProjectsLocationsIndexEndpointsOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "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.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/indexEndpoints/{indexEndpointsId}/operations/{operationsId}:wait",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.indexEndpoints.operations.wait",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource to wait on.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/indexEndpoints/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "timeout": {
	//       "description": "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.",
	//       "format": "google-duration",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}:wait",
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.indexes.create":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsIndexesCreateCall) Context(ctx context.Context) *ProjectsLocationsIndexesCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1index)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "Creates an Index.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/indexes",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.indexes.create",
	//   "parameterOrder": [
	//     "parent"
	//   ],
	//   "parameters": {
	//     "parent": {
	//       "description": "Required. The resource name of the Location to create the Index in. Format: `projects/{project}/locations/{location}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+parent}/indexes",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1Index"
	//   },
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.indexes.delete":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsIndexesDeleteCall) Context(ctx context.Context) *ProjectsLocationsIndexesDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "Deletes an Index. An Index can only be deleted when all its DeployedIndexes had been undeployed.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/indexes/{indexesId}",
	//   "httpMethod": "DELETE",
	//   "id": "aiplatform.projects.locations.indexes.delete",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "Required. The name of the Index resource to be deleted. Format: `projects/{project}/locations/{location}/indexes/{index}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/indexes/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.indexes.get":

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 information.
func (c *ProjectsLocationsIndexesGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsIndexesGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsIndexesGetCall) Context(ctx context.Context) *ProjectsLocationsIndexesGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleCloudAiplatformV1Index or error will be
// non-nil. 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
	// {
	//   "description": "Gets an Index.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/indexes/{indexesId}",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.indexes.get",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "Required. The name of the Index resource. Format: `projects/{project}/locations/{location}/indexes/{index}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/indexes/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1Index"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.indexes.list":

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 information.
func (c *ProjectsLocationsIndexesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsIndexesListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsIndexesListCall) Context(ctx context.Context) *ProjectsLocationsIndexesListCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleCloudAiplatformV1ListIndexesResponse or error
// will be non-nil. 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
	// {
	//   "description": "Lists Indexes in a Location.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/indexes",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.indexes.list",
	//   "parameterOrder": [
	//     "parent"
	//   ],
	//   "parameters": {
	//     "filter": {
	//       "description": "The standard list filter.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "pageSize": {
	//       "description": "The standard list page size.",
	//       "format": "int32",
	//       "location": "query",
	//       "type": "integer"
	//     },
	//     "pageToken": {
	//       "description": "The standard list page token. Typically obtained via ListIndexesResponse.next_page_token of the previous IndexService.ListIndexes call.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "parent": {
	//       "description": "Required. The resource name of the Location from which to list the Indexes. Format: `projects/{project}/locations/{location}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "readMask": {
	//       "description": "Mask specifying which fields to read.",
	//       "format": "google-fieldmask",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+parent}/indexes",
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1ListIndexesResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// Pages invokes f for each page of results.
// 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")) // reset paging to original point
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

// method id "aiplatform.projects.locations.indexes.patch":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsIndexesPatchCall) Context(ctx context.Context) *ProjectsLocationsIndexesPatchCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1index)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	c.urlParams_.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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "Updates an Index.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/indexes/{indexesId}",
	//   "httpMethod": "PATCH",
	//   "id": "aiplatform.projects.locations.indexes.patch",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "Output only. The resource name of the Index.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/indexes/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "updateMask": {
	//       "description": "The update mask applies to the resource. For the `FieldMask` definition, see google.protobuf.FieldMask.",
	//       "format": "google-fieldmask",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1Index"
	//   },
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.indexes.removeDatapoints":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsIndexesRemoveDatapointsCall) Context(ctx context.Context) *ProjectsLocationsIndexesRemoveDatapointsCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1removedatapointsrequest)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of *GoogleCloudAiplatformV1RemoveDatapointsResponse or
// error will be non-nil. 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
	// {
	//   "description": "Remove Datapoints from an Index.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/indexes/{indexesId}:removeDatapoints",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.indexes.removeDatapoints",
	//   "parameterOrder": [
	//     "index"
	//   ],
	//   "parameters": {
	//     "index": {
	//       "description": "Required. The name of the Index resource to be updated. Format: `projects/{project}/locations/{location}/indexes/{index}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/indexes/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+index}:removeDatapoints",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1RemoveDatapointsRequest"
	//   },
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1RemoveDatapointsResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.indexes.upsertDatapoints":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsIndexesUpsertDatapointsCall) Context(ctx context.Context) *ProjectsLocationsIndexesUpsertDatapointsCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1upsertdatapointsrequest)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of *GoogleCloudAiplatformV1UpsertDatapointsResponse or
// error will be non-nil. 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
	// {
	//   "description": "Add/update Datapoints into an Index.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/indexes/{indexesId}:upsertDatapoints",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.indexes.upsertDatapoints",
	//   "parameterOrder": [
	//     "index"
	//   ],
	//   "parameters": {
	//     "index": {
	//       "description": "Required. The name of the Index resource to be updated. Format: `projects/{project}/locations/{location}/indexes/{index}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/indexes/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+index}:upsertDatapoints",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1UpsertDatapointsRequest"
	//   },
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1UpsertDatapointsResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.indexes.operations.cancel":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsIndexesOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsIndexesOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
// non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
// returned 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
	// {
	//   "description": "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`.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/indexes/{indexesId}/operations/{operationsId}:cancel",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.indexes.operations.cancel",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource to be cancelled.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/indexes/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}:cancel",
	//   "response": {
	//     "$ref": "GoogleProtobufEmpty"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.indexes.operations.delete":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsIndexesOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsIndexesOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
// non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
// returned 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
	// {
	//   "description": "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`.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/indexes/{indexesId}/operations/{operationsId}",
	//   "httpMethod": "DELETE",
	//   "id": "aiplatform.projects.locations.indexes.operations.delete",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource to be deleted.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/indexes/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleProtobufEmpty"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.indexes.operations.get":

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 information.
func (c *ProjectsLocationsIndexesOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsIndexesOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsIndexesOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsIndexesOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "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.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/indexes/{indexesId}/operations/{operationsId}",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.indexes.operations.get",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/indexes/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.indexes.operations.list":

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 information.
func (c *ProjectsLocationsIndexesOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsIndexesOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsIndexesOperationsListCall) Context(ctx context.Context) *ProjectsLocationsIndexesOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningListOperationsResponse or error will
// be non-nil. 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
	// {
	//   "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/indexes/{indexesId}/operations",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.indexes.operations.list",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "filter": {
	//       "description": "The standard list filter.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "name": {
	//       "description": "The name of the operation's parent resource.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/indexes/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "pageSize": {
	//       "description": "The standard list page size.",
	//       "format": "int32",
	//       "location": "query",
	//       "type": "integer"
	//     },
	//     "pageToken": {
	//       "description": "The standard list page token.",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}/operations",
	//   "response": {
	//     "$ref": "GoogleLongrunningListOperationsResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// Pages invokes f for each page of results.
// 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")) // reset paging to original point
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

// method id "aiplatform.projects.locations.indexes.operations.wait":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsIndexesOperationsWaitCall) Context(ctx context.Context) *ProjectsLocationsIndexesOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "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.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/indexes/{indexesId}/operations/{operationsId}:wait",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.indexes.operations.wait",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource to wait on.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/indexes/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "timeout": {
	//       "description": "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.",
	//       "format": "google-duration",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}:wait",
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.metadataStores.create":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsMetadataStoresCreateCall) Context(ctx context.Context) *ProjectsLocationsMetadataStoresCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1metadatastore)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "Initializes a MetadataStore, including allocation of resources.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataStores",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.metadataStores.create",
	//   "parameterOrder": [
	//     "parent"
	//   ],
	//   "parameters": {
	//     "metadataStoreId": {
	//       "description": "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.)",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "parent": {
	//       "description": "Required. The resource name of the Location where the MetadataStore should be created. Format: `projects/{project}/locations/{location}/`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+parent}/metadataStores",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1MetadataStore"
	//   },
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.metadataStores.delete":

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/{metadatasto
//     re}`.
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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsMetadataStoresDeleteCall) Context(ctx context.Context) *ProjectsLocationsMetadataStoresDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "Deletes a single MetadataStore and all its child resources (Artifacts, Executions, and Contexts).",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}",
	//   "httpMethod": "DELETE",
	//   "id": "aiplatform.projects.locations.metadataStores.delete",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "force": {
	//       "deprecated": true,
	//       "description": "Deprecated: Field is no longer supported.",
	//       "location": "query",
	//       "type": "boolean"
	//     },
	//     "name": {
	//       "description": "Required. The resource name of the MetadataStore to delete. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.metadataStores.get":

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/{metadatasto
//     re}`.
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 information.
func (c *ProjectsLocationsMetadataStoresGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsMetadataStoresGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsMetadataStoresGetCall) Context(ctx context.Context) *ProjectsLocationsMetadataStoresGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleCloudAiplatformV1MetadataStore or error will be
// non-nil. 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
	// {
	//   "description": "Retrieves a specific MetadataStore.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.metadataStores.get",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "Required. The resource name of the MetadataStore to retrieve. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1MetadataStore"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.metadataStores.list":

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 information.
func (c *ProjectsLocationsMetadataStoresListCall) Fields(s ...googleapi.Field) *ProjectsLocationsMetadataStoresListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsMetadataStoresListCall) Context(ctx context.Context) *ProjectsLocationsMetadataStoresListCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleCloudAiplatformV1ListMetadataStoresResponse or
// error will be non-nil. Any non-2xx status code is an error. Response
// headers are in either
// *GoogleCloudAiplatformV1ListMetadataStoresResponse.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 *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
	// {
	//   "description": "Lists MetadataStores for a Location.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataStores",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.metadataStores.list",
	//   "parameterOrder": [
	//     "parent"
	//   ],
	//   "parameters": {
	//     "pageSize": {
	//       "description": "The maximum number of Metadata Stores to return. The service may return fewer. Must be in range 1-1000, inclusive. Defaults to 100.",
	//       "format": "int32",
	//       "location": "query",
	//       "type": "integer"
	//     },
	//     "pageToken": {
	//       "description": "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.)",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "parent": {
	//       "description": "Required. The Location whose MetadataStores should be listed. Format: `projects/{project}/locations/{location}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+parent}/metadataStores",
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1ListMetadataStoresResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// Pages invokes f for each page of results.
// 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")) // reset paging to original point
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

// method id "aiplatform.projects.locations.metadataStores.artifacts.create":

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/{metadatasto
//     re}`.
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
// }/artifacts/{artifact}` If not provided, the Artifact's ID will be a
// UUID generated by the service. Must be 4-128 characters in length.
// Valid characters are `/a-z-/`. 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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsMetadataStoresArtifactsCreateCall) Context(ctx context.Context) *ProjectsLocationsMetadataStoresArtifactsCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1artifact)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of *GoogleCloudAiplatformV1Artifact or error will be
// non-nil. 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
	// {
	//   "description": "Creates an Artifact associated with a MetadataStore.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/artifacts",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.metadataStores.artifacts.create",
	//   "parameterOrder": [
	//     "parent"
	//   ],
	//   "parameters": {
	//     "artifactId": {
	//       "description": "The {artifact} portion of the resource name with the format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/artifacts/{artifact}` If not provided, the Artifact's ID will be a UUID generated by the service. Must be 4-128 characters in length. Valid characters are `/a-z-/`. 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.)",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "parent": {
	//       "description": "Required. The resource name of the MetadataStore where the Artifact should be created. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+parent}/artifacts",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1Artifact"
	//   },
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1Artifact"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.metadataStores.artifacts.delete":

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/{metadatasto
//     re}/artifacts/{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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsMetadataStoresArtifactsDeleteCall) Context(ctx context.Context) *ProjectsLocationsMetadataStoresArtifactsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "Deletes an Artifact.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/artifacts/{artifactsId}",
	//   "httpMethod": "DELETE",
	//   "id": "aiplatform.projects.locations.metadataStores.artifacts.delete",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "etag": {
	//       "description": "Optional. The etag of the Artifact to delete. If this is provided, it must match the server's etag. Otherwise, the request will fail with a FAILED_PRECONDITION.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "name": {
	//       "description": "Required. The resource name of the Artifact to delete. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/artifacts/{artifact}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/artifacts/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.metadataStores.artifacts.get":

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/{metadatasto
//     re}/artifacts/{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 information.
func (c *ProjectsLocationsMetadataStoresArtifactsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsMetadataStoresArtifactsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsMetadataStoresArtifactsGetCall) Context(ctx context.Context) *ProjectsLocationsMetadataStoresArtifactsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleCloudAiplatformV1Artifact or error will be
// non-nil. 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
	// {
	//   "description": "Retrieves a specific Artifact.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/artifacts/{artifactsId}",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.metadataStores.artifacts.get",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "Required. The resource name of the Artifact to retrieve. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/artifacts/{artifact}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/artifacts/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1Artifact"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.metadataStores.artifacts.list":

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/{metadatasto
//     re}`.
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 information.
func (c *ProjectsLocationsMetadataStoresArtifactsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsMetadataStoresArtifactsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsMetadataStoresArtifactsListCall) Context(ctx context.Context) *ProjectsLocationsMetadataStoresArtifactsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleCloudAiplatformV1ListArtifactsResponse or error
// will be non-nil. 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
	// {
	//   "description": "Lists Artifacts in the MetadataStore.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/artifacts",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.metadataStores.artifacts.list",
	//   "parameterOrder": [
	//     "parent"
	//   ],
	//   "parameters": {
	//     "filter": {
	//       "description": "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` \u0026 `OR`). Maximum nested expression depth allowed is 5. For example: `display_name = \"test\" AND metadata.field1.bool_value = true`.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "orderBy": {
	//       "description": "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.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "pageSize": {
	//       "description": "The maximum number of Artifacts to return. The service may return fewer. Must be in range 1-1000, inclusive. Defaults to 100.",
	//       "format": "int32",
	//       "location": "query",
	//       "type": "integer"
	//     },
	//     "pageToken": {
	//       "description": "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.)",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "parent": {
	//       "description": "Required. The MetadataStore whose Artifacts should be listed. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+parent}/artifacts",
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1ListArtifactsResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// Pages invokes f for each page of results.
// 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")) // reset paging to original point
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

// method id "aiplatform.projects.locations.metadataStores.artifacts.patch":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsMetadataStoresArtifactsPatchCall) Context(ctx context.Context) *ProjectsLocationsMetadataStoresArtifactsPatchCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1artifact)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	c.urlParams_.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.
// Exactly one of *GoogleCloudAiplatformV1Artifact or error will be
// non-nil. 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
	// {
	//   "description": "Updates a stored Artifact.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/artifacts/{artifactsId}",
	//   "httpMethod": "PATCH",
	//   "id": "aiplatform.projects.locations.metadataStores.artifacts.patch",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "allowMissing": {
	//       "description": "If set to true, and the Artifact is not found, a new Artifact is created.",
	//       "location": "query",
	//       "type": "boolean"
	//     },
	//     "name": {
	//       "description": "Output only. The resource name of the Artifact.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/artifacts/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "updateMask": {
	//       "description": "Optional. A FieldMask indicating which fields should be updated.",
	//       "format": "google-fieldmask",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1Artifact"
	//   },
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1Artifact"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.metadataStores.artifacts.purge":

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/{metadatasto
//     re}`.
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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsMetadataStoresArtifactsPurgeCall) Context(ctx context.Context) *ProjectsLocationsMetadataStoresArtifactsPurgeCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1purgeartifactsrequest)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "Purges Artifacts.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/artifacts:purge",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.metadataStores.artifacts.purge",
	//   "parameterOrder": [
	//     "parent"
	//   ],
	//   "parameters": {
	//     "parent": {
	//       "description": "Required. The metadata store to purge Artifacts from. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+parent}/artifacts:purge",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1PurgeArtifactsRequest"
	//   },
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.metadataStores.artifacts.queryArtifactLineageSubgraph":

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/{metadatasto
//     re}/artifacts/{artifact}` The request may error with
//     FAILED_PRECONDITION if the number of Artifacts, the number of
//     Executions, or the number of Events that would be returned for the
//     Context exceeds 1000.
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 information.
func (c *ProjectsLocationsMetadataStoresArtifactsQueryArtifactLineageSubgraphCall) Fields(s ...googleapi.Field) *ProjectsLocationsMetadataStoresArtifactsQueryArtifactLineageSubgraphCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsMetadataStoresArtifactsQueryArtifactLineageSubgraphCall) Context(ctx context.Context) *ProjectsLocationsMetadataStoresArtifactsQueryArtifactLineageSubgraphCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleCloudAiplatformV1LineageSubgraph or error will
// be non-nil. 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
	// {
	//   "description": "Retrieves lineage of an Artifact represented through Artifacts and Executions connected by Event edges and returned as a LineageSubgraph.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/artifacts/{artifactsId}:queryArtifactLineageSubgraph",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.metadataStores.artifacts.queryArtifactLineageSubgraph",
	//   "parameterOrder": [
	//     "artifact"
	//   ],
	//   "parameters": {
	//     "artifact": {
	//       "description": "Required. The resource name of the Artifact whose Lineage needs to be retrieved as a LineageSubgraph. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/artifacts/{artifact}` The request may error with FAILED_PRECONDITION if the number of Artifacts, the number of Executions, or the number of Events that would be returned for the Context exceeds 1000.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/artifacts/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "filter": {
	//       "description": "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` \u0026 `OR`). Maximum nested expression depth allowed is 5. For example: `display_name = \"test\" AND metadata.field1.bool_value = true`.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "maxHops": {
	//       "description": "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.",
	//       "format": "int32",
	//       "location": "query",
	//       "type": "integer"
	//     }
	//   },
	//   "path": "v1/{+artifact}:queryArtifactLineageSubgraph",
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1LineageSubgraph"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.metadataStores.contexts.addContextArtifactsAndExecutions":

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/{metadatasto
//     re}/contexts/{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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsMetadataStoresContextsAddContextArtifactsAndExecutionsCall) Context(ctx context.Context) *ProjectsLocationsMetadataStoresContextsAddContextArtifactsAndExecutionsCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1addcontextartifactsandexecutionsrequest)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of
// *GoogleCloudAiplatformV1AddContextArtifactsAndExecutionsResponse or
// error will be non-nil. Any non-2xx status code is an error. Response
// headers are in either
// *GoogleCloudAiplatformV1AddContextArtifactsAndExecutionsResponse.Serve
// rResponse.Header or (if a response was returned 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
	// {
	//   "description": "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.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/contexts/{contextsId}:addContextArtifactsAndExecutions",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.metadataStores.contexts.addContextArtifactsAndExecutions",
	//   "parameterOrder": [
	//     "context"
	//   ],
	//   "parameters": {
	//     "context": {
	//       "description": "Required. The resource name of the Context that the Artifacts and Executions belong to. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/contexts/{context}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/contexts/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+context}:addContextArtifactsAndExecutions",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1AddContextArtifactsAndExecutionsRequest"
	//   },
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1AddContextArtifactsAndExecutionsResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.metadataStores.contexts.addContextChildren":

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/{metadatasto
//     re}/contexts/{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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsMetadataStoresContextsAddContextChildrenCall) Context(ctx context.Context) *ProjectsLocationsMetadataStoresContextsAddContextChildrenCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1addcontextchildrenrequest)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of *GoogleCloudAiplatformV1AddContextChildrenResponse or
// error will be non-nil. Any non-2xx status code is an error. Response
// headers are in either
// *GoogleCloudAiplatformV1AddContextChildrenResponse.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 *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
	// {
	//   "description": "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.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/contexts/{contextsId}:addContextChildren",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.metadataStores.contexts.addContextChildren",
	//   "parameterOrder": [
	//     "context"
	//   ],
	//   "parameters": {
	//     "context": {
	//       "description": "Required. The resource name of the parent Context. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/contexts/{context}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/contexts/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+context}:addContextChildren",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1AddContextChildrenRequest"
	//   },
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1AddContextChildrenResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.metadataStores.contexts.create":

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/{metadatasto
//     re}`.
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
// }/contexts/{context}`. If not provided, the Context's ID will be a
// UUID generated by the service. Must be 4-128 characters in length.
// Valid characters are `/a-z-/`. 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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsMetadataStoresContextsCreateCall) Context(ctx context.Context) *ProjectsLocationsMetadataStoresContextsCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1context)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of *GoogleCloudAiplatformV1Context or error will be
// non-nil. 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
	// {
	//   "description": "Creates a Context associated with a MetadataStore.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/contexts",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.metadataStores.contexts.create",
	//   "parameterOrder": [
	//     "parent"
	//   ],
	//   "parameters": {
	//     "contextId": {
	//       "description": "The {context} portion of the resource name with the format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/contexts/{context}`. If not provided, the Context's ID will be a UUID generated by the service. Must be 4-128 characters in length. Valid characters are `/a-z-/`. 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.)",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "parent": {
	//       "description": "Required. The resource name of the MetadataStore where the Context should be created. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+parent}/contexts",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1Context"
	//   },
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1Context"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.metadataStores.contexts.delete":

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/{metadatasto
//     re}/contexts/{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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsMetadataStoresContextsDeleteCall) Context(ctx context.Context) *ProjectsLocationsMetadataStoresContextsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "Deletes a stored Context.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/contexts/{contextsId}",
	//   "httpMethod": "DELETE",
	//   "id": "aiplatform.projects.locations.metadataStores.contexts.delete",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "etag": {
	//       "description": "Optional. The etag of the Context to delete. If this is provided, it must match the server's etag. Otherwise, the request will fail with a FAILED_PRECONDITION.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "force": {
	//       "description": "The force deletion semantics is still undefined. Users should not use this field.",
	//       "location": "query",
	//       "type": "boolean"
	//     },
	//     "name": {
	//       "description": "Required. The resource name of the Context to delete. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/contexts/{context}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/contexts/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.metadataStores.contexts.get":

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/{metadatasto
//     re}/contexts/{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 information.
func (c *ProjectsLocationsMetadataStoresContextsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsMetadataStoresContextsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsMetadataStoresContextsGetCall) Context(ctx context.Context) *ProjectsLocationsMetadataStoresContextsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleCloudAiplatformV1Context or error will be
// non-nil. 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
	// {
	//   "description": "Retrieves a specific Context.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/contexts/{contextsId}",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.metadataStores.contexts.get",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "Required. The resource name of the Context to retrieve. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/contexts/{context}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/contexts/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1Context"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.metadataStores.contexts.list":

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/{metadatasto
//     re}`.
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 information.
func (c *ProjectsLocationsMetadataStoresContextsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsMetadataStoresContextsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsMetadataStoresContextsListCall) Context(ctx context.Context) *ProjectsLocationsMetadataStoresContextsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleCloudAiplatformV1ListContextsResponse or error
// will be non-nil. 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
	// {
	//   "description": "Lists Contexts on the MetadataStore.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/contexts",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.metadataStores.contexts.list",
	//   "parameterOrder": [
	//     "parent"
	//   ],
	//   "parameters": {
	//     "filter": {
	//       "description": "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` \u0026 `OR`). Maximum nested expression depth allowed is 5. For example: `display_name = \"test\" AND metadata.field1.bool_value = true`.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "orderBy": {
	//       "description": "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.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "pageSize": {
	//       "description": "The maximum number of Contexts to return. The service may return fewer. Must be in range 1-1000, inclusive. Defaults to 100.",
	//       "format": "int32",
	//       "location": "query",
	//       "type": "integer"
	//     },
	//     "pageToken": {
	//       "description": "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.)",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "parent": {
	//       "description": "Required. The MetadataStore whose Contexts should be listed. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+parent}/contexts",
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1ListContextsResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// Pages invokes f for each page of results.
// 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")) // reset paging to original point
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

// method id "aiplatform.projects.locations.metadataStores.contexts.patch":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsMetadataStoresContextsPatchCall) Context(ctx context.Context) *ProjectsLocationsMetadataStoresContextsPatchCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1context)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	c.urlParams_.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.
// Exactly one of *GoogleCloudAiplatformV1Context or error will be
// non-nil. 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
	// {
	//   "description": "Updates a stored Context.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/contexts/{contextsId}",
	//   "httpMethod": "PATCH",
	//   "id": "aiplatform.projects.locations.metadataStores.contexts.patch",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "allowMissing": {
	//       "description": "If set to true, and the Context is not found, a new Context is created.",
	//       "location": "query",
	//       "type": "boolean"
	//     },
	//     "name": {
	//       "description": "Immutable. The resource name of the Context.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/contexts/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "updateMask": {
	//       "description": "Optional. A FieldMask indicating which fields should be updated.",
	//       "format": "google-fieldmask",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1Context"
	//   },
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1Context"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.metadataStores.contexts.purge":

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/{metadatasto
//     re}`.
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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsMetadataStoresContextsPurgeCall) Context(ctx context.Context) *ProjectsLocationsMetadataStoresContextsPurgeCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1purgecontextsrequest)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "Purges Contexts.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/contexts:purge",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.metadataStores.contexts.purge",
	//   "parameterOrder": [
	//     "parent"
	//   ],
	//   "parameters": {
	//     "parent": {
	//       "description": "Required. The metadata store to purge Contexts from. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+parent}/contexts:purge",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1PurgeContextsRequest"
	//   },
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.metadataStores.contexts.queryContextLineageSubgraph":

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/{metadatasto
//     re}/contexts/{context}` The request may error with
//     FAILED_PRECONDITION if the number of Artifacts, the number of
//     Executions, or the number of Events that would be returned for the
//     Context exceeds 1000.
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 information.
func (c *ProjectsLocationsMetadataStoresContextsQueryContextLineageSubgraphCall) Fields(s ...googleapi.Field) *ProjectsLocationsMetadataStoresContextsQueryContextLineageSubgraphCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsMetadataStoresContextsQueryContextLineageSubgraphCall) Context(ctx context.Context) *ProjectsLocationsMetadataStoresContextsQueryContextLineageSubgraphCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleCloudAiplatformV1LineageSubgraph or error will
// be non-nil. 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
	// {
	//   "description": "Retrieves Artifacts and Executions within the specified Context, connected by Event edges and returned as a LineageSubgraph.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/contexts/{contextsId}:queryContextLineageSubgraph",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.metadataStores.contexts.queryContextLineageSubgraph",
	//   "parameterOrder": [
	//     "context"
	//   ],
	//   "parameters": {
	//     "context": {
	//       "description": "Required. The resource name of the Context whose Artifacts and Executions should be retrieved as a LineageSubgraph. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/contexts/{context}` The request may error with FAILED_PRECONDITION if the number of Artifacts, the number of Executions, or the number of Events that would be returned for the Context exceeds 1000.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/contexts/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+context}:queryContextLineageSubgraph",
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1LineageSubgraph"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.metadataStores.contexts.removeContextChildren":

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/{metadatasto
//     re}/contexts/{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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsMetadataStoresContextsRemoveContextChildrenCall) Context(ctx context.Context) *ProjectsLocationsMetadataStoresContextsRemoveContextChildrenCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1removecontextchildrenrequest)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of *GoogleCloudAiplatformV1RemoveContextChildrenResponse
// or error will be non-nil. Any non-2xx status code is an error.
// Response headers are in either
// *GoogleCloudAiplatformV1RemoveContextChildrenResponse.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 *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
	// {
	//   "description": "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.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/contexts/{contextsId}:removeContextChildren",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.metadataStores.contexts.removeContextChildren",
	//   "parameterOrder": [
	//     "context"
	//   ],
	//   "parameters": {
	//     "context": {
	//       "description": "Required. The resource name of the parent Context. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/contexts/{context}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/contexts/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+context}:removeContextChildren",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1RemoveContextChildrenRequest"
	//   },
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1RemoveContextChildrenResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.metadataStores.executions.addExecutionEvents":

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/{metadatasto
//     re}/executions/{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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsMetadataStoresExecutionsAddExecutionEventsCall) Context(ctx context.Context) *ProjectsLocationsMetadataStoresExecutionsAddExecutionEventsCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1addexecutioneventsrequest)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of *GoogleCloudAiplatformV1AddExecutionEventsResponse or
// error will be non-nil. Any non-2xx status code is an error. Response
// headers are in either
// *GoogleCloudAiplatformV1AddExecutionEventsResponse.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 *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
	// {
	//   "description": "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.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/executions/{executionsId}:addExecutionEvents",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.metadataStores.executions.addExecutionEvents",
	//   "parameterOrder": [
	//     "execution"
	//   ],
	//   "parameters": {
	//     "execution": {
	//       "description": "Required. The resource name of the Execution that the Events connect Artifacts with. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/executions/{execution}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/executions/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+execution}:addExecutionEvents",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1AddExecutionEventsRequest"
	//   },
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1AddExecutionEventsResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.metadataStores.executions.create":

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/{metadatasto
//     re}`.
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
// }/executions/{execution}` If not provided, the Execution's ID will be
// a UUID generated by the service. Must be 4-128 characters in length.
// Valid characters are `/a-z-/`. 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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsMetadataStoresExecutionsCreateCall) Context(ctx context.Context) *ProjectsLocationsMetadataStoresExecutionsCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1execution)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of *GoogleCloudAiplatformV1Execution or error will be
// non-nil. 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
	// {
	//   "description": "Creates an Execution associated with a MetadataStore.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/executions",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.metadataStores.executions.create",
	//   "parameterOrder": [
	//     "parent"
	//   ],
	//   "parameters": {
	//     "executionId": {
	//       "description": "The {execution} portion of the resource name with the format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/executions/{execution}` If not provided, the Execution's ID will be a UUID generated by the service. Must be 4-128 characters in length. Valid characters are `/a-z-/`. 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.)",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "parent": {
	//       "description": "Required. The resource name of the MetadataStore where the Execution should be created. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+parent}/executions",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1Execution"
	//   },
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1Execution"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.metadataStores.executions.delete":

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/{metadatasto
//     re}/executions/{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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsMetadataStoresExecutionsDeleteCall) Context(ctx context.Context) *ProjectsLocationsMetadataStoresExecutionsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "Deletes an Execution.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/executions/{executionsId}",
	//   "httpMethod": "DELETE",
	//   "id": "aiplatform.projects.locations.metadataStores.executions.delete",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "etag": {
	//       "description": "Optional. The etag of the Execution to delete. If this is provided, it must match the server's etag. Otherwise, the request will fail with a FAILED_PRECONDITION.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "name": {
	//       "description": "Required. The resource name of the Execution to delete. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/executions/{execution}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/executions/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.metadataStores.executions.get":

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/{metadatasto
//     re}/executions/{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 information.
func (c *ProjectsLocationsMetadataStoresExecutionsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsMetadataStoresExecutionsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsMetadataStoresExecutionsGetCall) Context(ctx context.Context) *ProjectsLocationsMetadataStoresExecutionsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleCloudAiplatformV1Execution or error will be
// non-nil. 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
	// {
	//   "description": "Retrieves a specific Execution.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/executions/{executionsId}",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.metadataStores.executions.get",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "Required. The resource name of the Execution to retrieve. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/executions/{execution}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/executions/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1Execution"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.metadataStores.executions.list":

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/{metadatasto
//     re}`.
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 information.
func (c *ProjectsLocationsMetadataStoresExecutionsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsMetadataStoresExecutionsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsMetadataStoresExecutionsListCall) Context(ctx context.Context) *ProjectsLocationsMetadataStoresExecutionsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleCloudAiplatformV1ListExecutionsResponse or
// error will be non-nil. 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
	// {
	//   "description": "Lists Executions in the MetadataStore.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/executions",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.metadataStores.executions.list",
	//   "parameterOrder": [
	//     "parent"
	//   ],
	//   "parameters": {
	//     "filter": {
	//       "description": "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` \u0026 `OR`). Maximum nested expression depth allowed is 5. For example: `display_name = \"test\" AND metadata.field1.bool_value = true`.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "orderBy": {
	//       "description": "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.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "pageSize": {
	//       "description": "The maximum number of Executions to return. The service may return fewer. Must be in range 1-1000, inclusive. Defaults to 100.",
	//       "format": "int32",
	//       "location": "query",
	//       "type": "integer"
	//     },
	//     "pageToken": {
	//       "description": "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.)",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "parent": {
	//       "description": "Required. The MetadataStore whose Executions should be listed. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+parent}/executions",
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1ListExecutionsResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// Pages invokes f for each page of results.
// 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")) // reset paging to original point
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

// method id "aiplatform.projects.locations.metadataStores.executions.patch":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsMetadataStoresExecutionsPatchCall) Context(ctx context.Context) *ProjectsLocationsMetadataStoresExecutionsPatchCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1execution)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	c.urlParams_.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.
// Exactly one of *GoogleCloudAiplatformV1Execution or error will be
// non-nil. 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
	// {
	//   "description": "Updates a stored Execution.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/executions/{executionsId}",
	//   "httpMethod": "PATCH",
	//   "id": "aiplatform.projects.locations.metadataStores.executions.patch",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "allowMissing": {
	//       "description": "If set to true, and the Execution is not found, a new Execution is created.",
	//       "location": "query",
	//       "type": "boolean"
	//     },
	//     "name": {
	//       "description": "Output only. The resource name of the Execution.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/executions/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "updateMask": {
	//       "description": "Optional. A FieldMask indicating which fields should be updated.",
	//       "format": "google-fieldmask",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1Execution"
	//   },
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1Execution"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.metadataStores.executions.purge":

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/{metadatasto
//     re}`.
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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsMetadataStoresExecutionsPurgeCall) Context(ctx context.Context) *ProjectsLocationsMetadataStoresExecutionsPurgeCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1purgeexecutionsrequest)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "Purges Executions.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/executions:purge",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.metadataStores.executions.purge",
	//   "parameterOrder": [
	//     "parent"
	//   ],
	//   "parameters": {
	//     "parent": {
	//       "description": "Required. The metadata store to purge Executions from. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+parent}/executions:purge",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1PurgeExecutionsRequest"
	//   },
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.metadataStores.executions.queryExecutionInputsAndOutputs":

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/{metadatasto
//     re}/executions/{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 information.
func (c *ProjectsLocationsMetadataStoresExecutionsQueryExecutionInputsAndOutputsCall) Fields(s ...googleapi.Field) *ProjectsLocationsMetadataStoresExecutionsQueryExecutionInputsAndOutputsCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsMetadataStoresExecutionsQueryExecutionInputsAndOutputsCall) Context(ctx context.Context) *ProjectsLocationsMetadataStoresExecutionsQueryExecutionInputsAndOutputsCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleCloudAiplatformV1LineageSubgraph or error will
// be non-nil. 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
	// {
	//   "description": "Obtains the set of input and output Artifacts for this Execution, in the form of LineageSubgraph that also contains the Execution and connecting Events.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/executions/{executionsId}:queryExecutionInputsAndOutputs",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.metadataStores.executions.queryExecutionInputsAndOutputs",
	//   "parameterOrder": [
	//     "execution"
	//   ],
	//   "parameters": {
	//     "execution": {
	//       "description": "Required. The resource name of the Execution whose input and output Artifacts should be retrieved as a LineageSubgraph. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/executions/{execution}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/executions/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+execution}:queryExecutionInputsAndOutputs",
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1LineageSubgraph"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.metadataStores.metadataSchemas.create":

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/{metadatasto
//     re}`.
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
// }/metadataSchemas/{metadataschema}` If not provided, the
// MetadataStore's ID will be a UUID generated by the service. Must be
// 4-128 characters in length. Valid characters are `/a-z-/`. 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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsMetadataStoresMetadataSchemasCreateCall) Context(ctx context.Context) *ProjectsLocationsMetadataStoresMetadataSchemasCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1metadataschema)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of *GoogleCloudAiplatformV1MetadataSchema or error will
// be non-nil. 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
	// {
	//   "description": "Creates a MetadataSchema.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/metadataSchemas",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.metadataStores.metadataSchemas.create",
	//   "parameterOrder": [
	//     "parent"
	//   ],
	//   "parameters": {
	//     "metadataSchemaId": {
	//       "description": "The {metadata_schema} portion of the resource name with the format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/metadataSchemas/{metadataschema}` If not provided, the MetadataStore's ID will be a UUID generated by the service. Must be 4-128 characters in length. Valid characters are `/a-z-/`. 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.)",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "parent": {
	//       "description": "Required. The resource name of the MetadataStore where the MetadataSchema should be created. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+parent}/metadataSchemas",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1MetadataSchema"
	//   },
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1MetadataSchema"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.metadataStores.metadataSchemas.get":

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/{metadatasto
//     re}/metadataSchemas/{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 information.
func (c *ProjectsLocationsMetadataStoresMetadataSchemasGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsMetadataStoresMetadataSchemasGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsMetadataStoresMetadataSchemasGetCall) Context(ctx context.Context) *ProjectsLocationsMetadataStoresMetadataSchemasGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleCloudAiplatformV1MetadataSchema or error will
// be non-nil. 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
	// {
	//   "description": "Retrieves a specific MetadataSchema.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/metadataSchemas/{metadataSchemasId}",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.metadataStores.metadataSchemas.get",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "Required. The resource name of the MetadataSchema to retrieve. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/metadataSchemas/{metadataschema}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+/metadataSchemas/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1MetadataSchema"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.metadataStores.metadataSchemas.list":

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/{metadatasto
//     re}`.
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 information.
func (c *ProjectsLocationsMetadataStoresMetadataSchemasListCall) Fields(s ...googleapi.Field) *ProjectsLocationsMetadataStoresMetadataSchemasListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsMetadataStoresMetadataSchemasListCall) Context(ctx context.Context) *ProjectsLocationsMetadataStoresMetadataSchemasListCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleCloudAiplatformV1ListMetadataSchemasResponse or
// error will be non-nil. Any non-2xx status code is an error. Response
// headers are in either
// *GoogleCloudAiplatformV1ListMetadataSchemasResponse.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 *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
	// {
	//   "description": "Lists MetadataSchemas.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/metadataSchemas",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.metadataStores.metadataSchemas.list",
	//   "parameterOrder": [
	//     "parent"
	//   ],
	//   "parameters": {
	//     "filter": {
	//       "description": "A query to filter available MetadataSchemas for matching results.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "pageSize": {
	//       "description": "The maximum number of MetadataSchemas to return. The service may return fewer. Must be in range 1-1000, inclusive. Defaults to 100.",
	//       "format": "int32",
	//       "location": "query",
	//       "type": "integer"
	//     },
	//     "pageToken": {
	//       "description": "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.)",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "parent": {
	//       "description": "Required. The MetadataStore whose MetadataSchemas should be listed. Format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/metadataStores/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+parent}/metadataSchemas",
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1ListMetadataSchemasResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// Pages invokes f for each page of results.
// 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")) // reset paging to original point
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

// method id "aiplatform.projects.locations.migratableResources.batchMigrate":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsMigratableResourcesBatchMigrateCall) Context(ctx context.Context) *ProjectsLocationsMigratableResourcesBatchMigrateCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1batchmigrateresourcesrequest)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "Batch migrates resources from ml.googleapis.com, automl.googleapis.com, and datalabeling.googleapis.com to Vertex AI.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/migratableResources:batchMigrate",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.migratableResources.batchMigrate",
	//   "parameterOrder": [
	//     "parent"
	//   ],
	//   "parameters": {
	//     "parent": {
	//       "description": "Required. The location of the migrated resource will live in. Format: `projects/{project}/locations/{location}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+parent}/migratableResources:batchMigrate",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1BatchMigrateResourcesRequest"
	//   },
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.migratableResources.search":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsMigratableResourcesSearchCall) Context(ctx context.Context) *ProjectsLocationsMigratableResourcesSearchCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1searchmigratableresourcesrequest)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of
// *GoogleCloudAiplatformV1SearchMigratableResourcesResponse or error
// will be non-nil. Any non-2xx status code is an error. Response
// headers are in either
// *GoogleCloudAiplatformV1SearchMigratableResourcesResponse.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 *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
	// {
	//   "description": "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.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/migratableResources:search",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.migratableResources.search",
	//   "parameterOrder": [
	//     "parent"
	//   ],
	//   "parameters": {
	//     "parent": {
	//       "description": "Required. The location that the migratable resources should be searched from. It's the Vertex AI location that the resources can be migrated to, not the resources' original location. Format: `projects/{project}/locations/{location}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+parent}/migratableResources:search",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1SearchMigratableResourcesRequest"
	//   },
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1SearchMigratableResourcesResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// Pages invokes f for each page of results.
// 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) // reset paging to original point
	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
	}
}

// method id "aiplatform.projects.locations.migratableResources.operations.cancel":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsMigratableResourcesOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsMigratableResourcesOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
// non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
// returned 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
	// {
	//   "description": "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`.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/migratableResources/{migratableResourcesId}/operations/{operationsId}:cancel",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.migratableResources.operations.cancel",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource to be cancelled.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/migratableResources/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}:cancel",
	//   "response": {
	//     "$ref": "GoogleProtobufEmpty"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.migratableResources.operations.delete":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsMigratableResourcesOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsMigratableResourcesOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
// non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
// returned 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
	// {
	//   "description": "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`.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/migratableResources/{migratableResourcesId}/operations/{operationsId}",
	//   "httpMethod": "DELETE",
	//   "id": "aiplatform.projects.locations.migratableResources.operations.delete",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource to be deleted.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/migratableResources/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleProtobufEmpty"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.migratableResources.operations.get":

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 information.
func (c *ProjectsLocationsMigratableResourcesOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsMigratableResourcesOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsMigratableResourcesOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsMigratableResourcesOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "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.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/migratableResources/{migratableResourcesId}/operations/{operationsId}",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.migratableResources.operations.get",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/migratableResources/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.migratableResources.operations.list":

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 information.
func (c *ProjectsLocationsMigratableResourcesOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsMigratableResourcesOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsMigratableResourcesOperationsListCall) Context(ctx context.Context) *ProjectsLocationsMigratableResourcesOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningListOperationsResponse or error will
// be non-nil. 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
	// {
	//   "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/migratableResources/{migratableResourcesId}/operations",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.migratableResources.operations.list",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "filter": {
	//       "description": "The standard list filter.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "name": {
	//       "description": "The name of the operation's parent resource.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/migratableResources/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "pageSize": {
	//       "description": "The standard list page size.",
	//       "format": "int32",
	//       "location": "query",
	//       "type": "integer"
	//     },
	//     "pageToken": {
	//       "description": "The standard list page token.",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}/operations",
	//   "response": {
	//     "$ref": "GoogleLongrunningListOperationsResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// Pages invokes f for each page of results.
// 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")) // reset paging to original point
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

// method id "aiplatform.projects.locations.migratableResources.operations.wait":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsMigratableResourcesOperationsWaitCall) Context(ctx context.Context) *ProjectsLocationsMigratableResourcesOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "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.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/migratableResources/{migratableResourcesId}/operations/{operationsId}:wait",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.migratableResources.operations.wait",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource to wait on.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/migratableResources/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "timeout": {
	//       "description": "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.",
	//       "format": "google-duration",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}:wait",
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.modelDeploymentMonitoringJobs.create":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsModelDeploymentMonitoringJobsCreateCall) Context(ctx context.Context) *ProjectsLocationsModelDeploymentMonitoringJobsCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1modeldeploymentmonitoringjob)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of *GoogleCloudAiplatformV1ModelDeploymentMonitoringJob
// or error will be non-nil. Any non-2xx status code is an error.
// Response headers are in either
// *GoogleCloudAiplatformV1ModelDeploymentMonitoringJob.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 *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
	// {
	//   "description": "Creates a ModelDeploymentMonitoringJob. It will run periodically on a configured interval.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/modelDeploymentMonitoringJobs",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.modelDeploymentMonitoringJobs.create",
	//   "parameterOrder": [
	//     "parent"
	//   ],
	//   "parameters": {
	//     "parent": {
	//       "description": "Required. The parent of the ModelDeploymentMonitoringJob. Format: `projects/{project}/locations/{location}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+parent}/modelDeploymentMonitoringJobs",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1ModelDeploymentMonitoringJob"
	//   },
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1ModelDeploymentMonitoringJob"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.modelDeploymentMonitoringJobs.delete":

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}/modelDeploymentMonitoringJo
//     bs/{model_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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsModelDeploymentMonitoringJobsDeleteCall) Context(ctx context.Context) *ProjectsLocationsModelDeploymentMonitoringJobsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "Deletes a ModelDeploymentMonitoringJob.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/modelDeploymentMonitoringJobs/{modelDeploymentMonitoringJobsId}",
	//   "httpMethod": "DELETE",
	//   "id": "aiplatform.projects.locations.modelDeploymentMonitoringJobs.delete",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "Required. The resource name of the model monitoring job to delete. Format: `projects/{project}/locations/{location}/modelDeploymentMonitoringJobs/{model_deployment_monitoring_job}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/modelDeploymentMonitoringJobs/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.modelDeploymentMonitoringJobs.get":

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}/modelDeploymentMonitoringJo
//     bs/{model_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 information.
func (c *ProjectsLocationsModelDeploymentMonitoringJobsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsModelDeploymentMonitoringJobsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsModelDeploymentMonitoringJobsGetCall) Context(ctx context.Context) *ProjectsLocationsModelDeploymentMonitoringJobsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleCloudAiplatformV1ModelDeploymentMonitoringJob
// or error will be non-nil. Any non-2xx status code is an error.
// Response headers are in either
// *GoogleCloudAiplatformV1ModelDeploymentMonitoringJob.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 *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
	// {
	//   "description": "Gets a ModelDeploymentMonitoringJob.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/modelDeploymentMonitoringJobs/{modelDeploymentMonitoringJobsId}",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.modelDeploymentMonitoringJobs.get",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "Required. The resource name of the ModelDeploymentMonitoringJob. Format: `projects/{project}/locations/{location}/modelDeploymentMonitoringJobs/{model_deployment_monitoring_job}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/modelDeploymentMonitoringJobs/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1ModelDeploymentMonitoringJob"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.modelDeploymentMonitoringJobs.list":

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 information.
func (c *ProjectsLocationsModelDeploymentMonitoringJobsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsModelDeploymentMonitoringJobsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsModelDeploymentMonitoringJobsListCall) Context(ctx context.Context) *ProjectsLocationsModelDeploymentMonitoringJobsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of
// *GoogleCloudAiplatformV1ListModelDeploymentMonitoringJobsResponse or
// error will be non-nil. Any non-2xx status code is an error. Response
// headers are in either
// *GoogleCloudAiplatformV1ListModelDeploymentMonitoringJobsResponse.Serv
// erResponse.Header or (if a response was returned 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
	// {
	//   "description": "Lists ModelDeploymentMonitoringJobs in a Location.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/modelDeploymentMonitoringJobs",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.modelDeploymentMonitoringJobs.list",
	//   "parameterOrder": [
	//     "parent"
	//   ],
	//   "parameters": {
	//     "filter": {
	//       "description": "The standard list filter. Supported fields: * `display_name` supports `=`, `!=` comparisons, and `:` wildcard. * `state` supports `=`, `!=` comparisons. * `create_time` supports `=`, `!=`,`\u003c`, `\u003c=`,`\u003e`, `\u003e=` 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\u003e\"2021-05-18T00:00:00Z\"` * `labels.keyA=valueA` * `labels.keyB:*`",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "pageSize": {
	//       "description": "The standard list page size.",
	//       "format": "int32",
	//       "location": "query",
	//       "type": "integer"
	//     },
	//     "pageToken": {
	//       "description": "The standard list page token.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "parent": {
	//       "description": "Required. The parent of the ModelDeploymentMonitoringJob. Format: `projects/{project}/locations/{location}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "readMask": {
	//       "description": "Mask specifying which fields to read",
	//       "format": "google-fieldmask",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+parent}/modelDeploymentMonitoringJobs",
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1ListModelDeploymentMonitoringJobsResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// Pages invokes f for each page of results.
// 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")) // reset paging to original point
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

// method id "aiplatform.projects.locations.modelDeploymentMonitoringJobs.patch":

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.trainin
// g_dataset. Updatable fields: * `display_name` *
// `model_deployment_monitoring_schedule_config` *
// `model_monitoring_alert_config` * `logging_sampling_strategy` *
// `labels` * `log_ttl` * `enable_monitoring_pipeline_logs` . and *
// `model_deployment_monitoring_objective_configs` . or *
// `model_deployment_monitoring_objective_configs.objective_config.traini
// ng_dataset` *
// `model_deployment_monitoring_objective_configs.objective_config.traini
// ng_prediction_skew_detection_config` *
// `model_deployment_monitoring_objective_configs.objective_config.predic
// tion_drift_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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsModelDeploymentMonitoringJobsPatchCall) Context(ctx context.Context) *ProjectsLocationsModelDeploymentMonitoringJobsPatchCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1modeldeploymentmonitoringjob)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	c.urlParams_.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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "Updates a ModelDeploymentMonitoringJob.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/modelDeploymentMonitoringJobs/{modelDeploymentMonitoringJobsId}",
	//   "httpMethod": "PATCH",
	//   "id": "aiplatform.projects.locations.modelDeploymentMonitoringJobs.patch",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "Output only. Resource name of a ModelDeploymentMonitoringJob.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/modelDeploymentMonitoringJobs/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "updateMask": {
	//       "description": "Required. The update mask is used to specify the fields to be overwritten in the ModelDeploymentMonitoringJob resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then only the non-empty fields present in the request will be overwritten. Set the update_mask to `*` to override all fields. For the objective config, the user can either provide the update mask for model_deployment_monitoring_objective_configs or any combination of its nested fields, such as: model_deployment_monitoring_objective_configs.objective_config.training_dataset. Updatable fields: * `display_name` * `model_deployment_monitoring_schedule_config` * `model_monitoring_alert_config` * `logging_sampling_strategy` * `labels` * `log_ttl` * `enable_monitoring_pipeline_logs` . and * `model_deployment_monitoring_objective_configs` . or * `model_deployment_monitoring_objective_configs.objective_config.training_dataset` * `model_deployment_monitoring_objective_configs.objective_config.training_prediction_skew_detection_config` * `model_deployment_monitoring_objective_configs.objective_config.prediction_drift_detection_config`",
	//       "format": "google-fieldmask",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1ModelDeploymentMonitoringJob"
	//   },
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.modelDeploymentMonitoringJobs.pause":

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}/modelDeploymentMonitoringJo
//     bs/{model_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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsModelDeploymentMonitoringJobsPauseCall) Context(ctx context.Context) *ProjectsLocationsModelDeploymentMonitoringJobsPauseCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1pausemodeldeploymentmonitoringjobrequest)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
// non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
// returned 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
	// {
	//   "description": "Pauses a ModelDeploymentMonitoringJob. If the job is running, the server makes a best effort to cancel the job. Will mark ModelDeploymentMonitoringJob.state to 'PAUSED'.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/modelDeploymentMonitoringJobs/{modelDeploymentMonitoringJobsId}:pause",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.modelDeploymentMonitoringJobs.pause",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "Required. The resource name of the ModelDeploymentMonitoringJob to pause. Format: `projects/{project}/locations/{location}/modelDeploymentMonitoringJobs/{model_deployment_monitoring_job}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/modelDeploymentMonitoringJobs/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}:pause",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1PauseModelDeploymentMonitoringJobRequest"
	//   },
	//   "response": {
	//     "$ref": "GoogleProtobufEmpty"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.modelDeploymentMonitoringJobs.resume":

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}/modelDeploymentMonitoringJo
//     bs/{model_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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsModelDeploymentMonitoringJobsResumeCall) Context(ctx context.Context) *ProjectsLocationsModelDeploymentMonitoringJobsResumeCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1resumemodeldeploymentmonitoringjobrequest)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
// non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
// returned 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
	// {
	//   "description": "Resumes a paused ModelDeploymentMonitoringJob. It will start to run from next scheduled time. A deleted ModelDeploymentMonitoringJob can't be resumed.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/modelDeploymentMonitoringJobs/{modelDeploymentMonitoringJobsId}:resume",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.modelDeploymentMonitoringJobs.resume",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "Required. The resource name of the ModelDeploymentMonitoringJob to resume. Format: `projects/{project}/locations/{location}/modelDeploymentMonitoringJobs/{model_deployment_monitoring_job}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/modelDeploymentMonitoringJobs/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}:resume",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1ResumeModelDeploymentMonitoringJobRequest"
	//   },
	//   "response": {
	//     "$ref": "GoogleProtobufEmpty"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.modelDeploymentMonitoringJobs.searchModelDeploymentMonitoringStatsAnomalies":

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}/modelDeploymentMonitoringJo
//     bs/{model_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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsModelDeploymentMonitoringJobsSearchModelDeploymentMonitoringStatsAnomaliesCall) Context(ctx context.Context) *ProjectsLocationsModelDeploymentMonitoringJobsSearchModelDeploymentMonitoringStatsAnomaliesCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1searchmodeldeploymentmonitoringstatsanomaliesrequest)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of
// *GoogleCloudAiplatformV1SearchModelDeploymentMonitoringStatsAnomaliesR
// esponse or error will be non-nil. Any non-2xx status code is an
// error. Response headers are in either
// *GoogleCloudAiplatformV1SearchModelDeploymentMonitoringStatsAnomaliesR
// esponse.ServerResponse.Header or (if a response was returned 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
	// {
	//   "description": "Searches Model Monitoring Statistics generated within a given time window.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/modelDeploymentMonitoringJobs/{modelDeploymentMonitoringJobsId}:searchModelDeploymentMonitoringStatsAnomalies",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.modelDeploymentMonitoringJobs.searchModelDeploymentMonitoringStatsAnomalies",
	//   "parameterOrder": [
	//     "modelDeploymentMonitoringJob"
	//   ],
	//   "parameters": {
	//     "modelDeploymentMonitoringJob": {
	//       "description": "Required. ModelDeploymentMonitoring Job resource name. Format: `projects/{project}/locations/{location}/modelDeploymentMonitoringJobs/{model_deployment_monitoring_job}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/modelDeploymentMonitoringJobs/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+modelDeploymentMonitoringJob}:searchModelDeploymentMonitoringStatsAnomalies",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1SearchModelDeploymentMonitoringStatsAnomaliesRequest"
	//   },
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1SearchModelDeploymentMonitoringStatsAnomaliesResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// Pages invokes f for each page of results.
// 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) // reset paging to original point
	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
	}
}

// method id "aiplatform.projects.locations.modelDeploymentMonitoringJobs.operations.cancel":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsModelDeploymentMonitoringJobsOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsModelDeploymentMonitoringJobsOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
// non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
// returned 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
	// {
	//   "description": "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`.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/modelDeploymentMonitoringJobs/{modelDeploymentMonitoringJobsId}/operations/{operationsId}:cancel",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.modelDeploymentMonitoringJobs.operations.cancel",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource to be cancelled.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/modelDeploymentMonitoringJobs/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}:cancel",
	//   "response": {
	//     "$ref": "GoogleProtobufEmpty"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.modelDeploymentMonitoringJobs.operations.delete":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsModelDeploymentMonitoringJobsOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsModelDeploymentMonitoringJobsOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
// non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
// returned 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
	// {
	//   "description": "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`.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/modelDeploymentMonitoringJobs/{modelDeploymentMonitoringJobsId}/operations/{operationsId}",
	//   "httpMethod": "DELETE",
	//   "id": "aiplatform.projects.locations.modelDeploymentMonitoringJobs.operations.delete",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource to be deleted.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/modelDeploymentMonitoringJobs/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleProtobufEmpty"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.modelDeploymentMonitoringJobs.operations.get":

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 information.
func (c *ProjectsLocationsModelDeploymentMonitoringJobsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsModelDeploymentMonitoringJobsOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsModelDeploymentMonitoringJobsOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsModelDeploymentMonitoringJobsOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "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.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/modelDeploymentMonitoringJobs/{modelDeploymentMonitoringJobsId}/operations/{operationsId}",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.modelDeploymentMonitoringJobs.operations.get",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/modelDeploymentMonitoringJobs/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.modelDeploymentMonitoringJobs.operations.list":

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 information.
func (c *ProjectsLocationsModelDeploymentMonitoringJobsOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsModelDeploymentMonitoringJobsOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsModelDeploymentMonitoringJobsOperationsListCall) Context(ctx context.Context) *ProjectsLocationsModelDeploymentMonitoringJobsOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningListOperationsResponse or error will
// be non-nil. 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
	// {
	//   "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/modelDeploymentMonitoringJobs/{modelDeploymentMonitoringJobsId}/operations",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.modelDeploymentMonitoringJobs.operations.list",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "filter": {
	//       "description": "The standard list filter.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "name": {
	//       "description": "The name of the operation's parent resource.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/modelDeploymentMonitoringJobs/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "pageSize": {
	//       "description": "The standard list page size.",
	//       "format": "int32",
	//       "location": "query",
	//       "type": "integer"
	//     },
	//     "pageToken": {
	//       "description": "The standard list page token.",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}/operations",
	//   "response": {
	//     "$ref": "GoogleLongrunningListOperationsResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// Pages invokes f for each page of results.
// 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")) // reset paging to original point
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

// method id "aiplatform.projects.locations.modelDeploymentMonitoringJobs.operations.wait":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsModelDeploymentMonitoringJobsOperationsWaitCall) Context(ctx context.Context) *ProjectsLocationsModelDeploymentMonitoringJobsOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "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.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/modelDeploymentMonitoringJobs/{modelDeploymentMonitoringJobsId}/operations/{operationsId}:wait",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.modelDeploymentMonitoringJobs.operations.wait",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource to wait on.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/modelDeploymentMonitoringJobs/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "timeout": {
	//       "description": "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.",
	//       "format": "google-duration",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}:wait",
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.models.copy":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsModelsCopyCall) Context(ctx context.Context) *ProjectsLocationsModelsCopyCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1copymodelrequest)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "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.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/models:copy",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.models.copy",
	//   "parameterOrder": [
	//     "parent"
	//   ],
	//   "parameters": {
	//     "parent": {
	//       "description": "Required. The resource name of the Location into which to copy the Model. Format: `projects/{project}/locations/{location}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+parent}/models:copy",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1CopyModelRequest"
	//   },
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.models.delete":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsModelsDeleteCall) Context(ctx context.Context) *ProjectsLocationsModelsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "Deletes a Model. A model cannot be deleted if any Endpoint resource has a DeployedModel based on the model in its deployed_models field.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}",
	//   "httpMethod": "DELETE",
	//   "id": "aiplatform.projects.locations.models.delete",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "Required. The name of the Model resource to be deleted. Format: `projects/{project}/locations/{location}/models/{model}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.models.deleteVersion":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsModelsDeleteVersionCall) Context(ctx context.Context) *ProjectsLocationsModelsDeleteVersionCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "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.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}:deleteVersion",
	//   "httpMethod": "DELETE",
	//   "id": "aiplatform.projects.locations.models.deleteVersion",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "Required. The name of the model version to be deleted, with a version ID explicitly included. Example: `projects/{project}/locations/{location}/models/{model}@1234`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}:deleteVersion",
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.models.export":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsModelsExportCall) Context(ctx context.Context) *ProjectsLocationsModelsExportCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1exportmodelrequest)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "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.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}:export",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.models.export",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "Required. The resource name of the Model to export. The resource name may contain version id or version alias to specify the version, if no version is specified, the default version will be exported.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}:export",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1ExportModelRequest"
	//   },
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.models.get":

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 information.
func (c *ProjectsLocationsModelsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsModelsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsModelsGetCall) Context(ctx context.Context) *ProjectsLocationsModelsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleCloudAiplatformV1Model or error will be
// non-nil. 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
	// {
	//   "description": "Gets a Model.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.models.get",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "Required. The name of the Model resource. Format: `projects/{project}/locations/{location}/models/{model}` In order to retrieve a specific version of the model, also provide the version ID or version alias. Example: `projects/{project}/locations/{location}/models/{model}@2` or `projects/{project}/locations/{location}/models/{model}@golden` If no version ID or alias is specified, the \"default\" version will be returned. The \"default\" version alias is created for the first version of the model, and can be moved to other versions later on. There will be exactly one default version.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1Model"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.models.list":

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". Some examples: *
// `model=1234` * `displayName="myDisplayName" *
// `labels.myKey="myValue"
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 information.
func (c *ProjectsLocationsModelsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsModelsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsModelsListCall) Context(ctx context.Context) *ProjectsLocationsModelsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleCloudAiplatformV1ListModelsResponse or error
// will be non-nil. 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
	// {
	//   "description": "Lists Models in a Location.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/models",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.models.list",
	//   "parameterOrder": [
	//     "parent"
	//   ],
	//   "parameters": {
	//     "filter": {
	//       "description": "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\"`. Some examples: * `model=1234` * `displayName=\"myDisplayName\"` * `labels.myKey=\"myValue\"`",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "orderBy": {
	//       "description": "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`.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "pageSize": {
	//       "description": "The standard list page size.",
	//       "format": "int32",
	//       "location": "query",
	//       "type": "integer"
	//     },
	//     "pageToken": {
	//       "description": "The standard list page token. Typically obtained via ListModelsResponse.next_page_token of the previous ModelService.ListModels call.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "parent": {
	//       "description": "Required. The resource name of the Location to list the Models from. Format: `projects/{project}/locations/{location}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "readMask": {
	//       "description": "Mask specifying which fields to read.",
	//       "format": "google-fieldmask",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+parent}/models",
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1ListModelsResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// Pages invokes f for each page of results.
// 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")) // reset paging to original point
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

// method id "aiplatform.projects.locations.models.listVersions":

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 information.
func (c *ProjectsLocationsModelsListVersionsCall) Fields(s ...googleapi.Field) *ProjectsLocationsModelsListVersionsCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsModelsListVersionsCall) Context(ctx context.Context) *ProjectsLocationsModelsListVersionsCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleCloudAiplatformV1ListModelVersionsResponse or
// error will be non-nil. Any non-2xx status code is an error. Response
// headers are in either
// *GoogleCloudAiplatformV1ListModelVersionsResponse.ServerResponse.Heade
// r or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was
// returned.
func (c *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
	// {
	//   "description": "Lists versions of the specified model.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}:listVersions",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.models.listVersions",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "filter": {
	//       "description": "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\"`",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "name": {
	//       "description": "Required. The name of the model to list versions for.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "orderBy": {
	//       "description": "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`.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "pageSize": {
	//       "description": "The standard list page size.",
	//       "format": "int32",
	//       "location": "query",
	//       "type": "integer"
	//     },
	//     "pageToken": {
	//       "description": "The standard list page token. Typically obtained via next_page_token of the previous ListModelVersions call.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "readMask": {
	//       "description": "Mask specifying which fields to read.",
	//       "format": "google-fieldmask",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}:listVersions",
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1ListModelVersionsResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// Pages invokes f for each page of results.
// 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")) // reset paging to original point
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

// method id "aiplatform.projects.locations.models.mergeVersionAliases":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsModelsMergeVersionAliasesCall) Context(ctx context.Context) *ProjectsLocationsModelsMergeVersionAliasesCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1mergeversionaliasesrequest)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of *GoogleCloudAiplatformV1Model or error will be
// non-nil. 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
	// {
	//   "description": "Merges a set of aliases for a Model version.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}:mergeVersionAliases",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.models.mergeVersionAliases",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "Required. The name of the model version to merge aliases, with a version ID explicitly included. Example: `projects/{project}/locations/{location}/models/{model}@1234`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}:mergeVersionAliases",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1MergeVersionAliasesRequest"
	//   },
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1Model"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.models.patch":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsModelsPatchCall) Context(ctx context.Context) *ProjectsLocationsModelsPatchCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1model)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	c.urlParams_.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.
// Exactly one of *GoogleCloudAiplatformV1Model or error will be
// non-nil. 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
	// {
	//   "description": "Updates a Model.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}",
	//   "httpMethod": "PATCH",
	//   "id": "aiplatform.projects.locations.models.patch",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The resource name of the Model.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "updateMask": {
	//       "description": "Required. The update mask applies to the resource. For the `FieldMask` definition, see google.protobuf.FieldMask.",
	//       "format": "google-fieldmask",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1Model"
	//   },
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1Model"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.models.updateExplanationDataset":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsModelsUpdateExplanationDatasetCall) Context(ctx context.Context) *ProjectsLocationsModelsUpdateExplanationDatasetCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1updateexplanationdatasetrequest)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "Incrementally update the dataset used for an examples model.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}:updateExplanationDataset",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.models.updateExplanationDataset",
	//   "parameterOrder": [
	//     "model"
	//   ],
	//   "parameters": {
	//     "model": {
	//       "description": "Required. The resource name of the Model to update. Format: `projects/{project}/locations/{location}/models/{model}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+model}:updateExplanationDataset",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1UpdateExplanationDatasetRequest"
	//   },
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.models.upload":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsModelsUploadCall) Context(ctx context.Context) *ProjectsLocationsModelsUploadCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1uploadmodelrequest)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "Uploads a Model artifact into Vertex AI.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/models:upload",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.models.upload",
	//   "parameterOrder": [
	//     "parent"
	//   ],
	//   "parameters": {
	//     "parent": {
	//       "description": "Required. The resource name of the Location into which to upload the Model. Format: `projects/{project}/locations/{location}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+parent}/models:upload",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1UploadModelRequest"
	//   },
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.models.evaluations.get":

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/
//     {evaluation}`.
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 information.
func (c *ProjectsLocationsModelsEvaluationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsModelsEvaluationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsModelsEvaluationsGetCall) Context(ctx context.Context) *ProjectsLocationsModelsEvaluationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleCloudAiplatformV1ModelEvaluation or error will
// be non-nil. 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
	// {
	//   "description": "Gets a ModelEvaluation.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/evaluations/{evaluationsId}",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.models.evaluations.get",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "Required. The name of the ModelEvaluation resource. Format: `projects/{project}/locations/{location}/models/{model}/evaluations/{evaluation}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+/evaluations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1ModelEvaluation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.models.evaluations.import":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsModelsEvaluationsImportCall) Context(ctx context.Context) *ProjectsLocationsModelsEvaluationsImportCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1importmodelevaluationrequest)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of *GoogleCloudAiplatformV1ModelEvaluation or error will
// be non-nil. 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
	// {
	//   "description": "Imports an externally generated ModelEvaluation.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/evaluations:import",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.models.evaluations.import",
	//   "parameterOrder": [
	//     "parent"
	//   ],
	//   "parameters": {
	//     "parent": {
	//       "description": "Required. The name of the parent model resource. Format: `projects/{project}/locations/{location}/models/{model}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+parent}/evaluations:import",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1ImportModelEvaluationRequest"
	//   },
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1ModelEvaluation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.models.evaluations.list":

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 information.
func (c *ProjectsLocationsModelsEvaluationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsModelsEvaluationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsModelsEvaluationsListCall) Context(ctx context.Context) *ProjectsLocationsModelsEvaluationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleCloudAiplatformV1ListModelEvaluationsResponse
// or error will be non-nil. Any non-2xx status code is an error.
// Response headers are in either
// *GoogleCloudAiplatformV1ListModelEvaluationsResponse.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 *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
	// {
	//   "description": "Lists ModelEvaluations in a Model.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/evaluations",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.models.evaluations.list",
	//   "parameterOrder": [
	//     "parent"
	//   ],
	//   "parameters": {
	//     "filter": {
	//       "description": "The standard list filter.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "pageSize": {
	//       "description": "The standard list page size.",
	//       "format": "int32",
	//       "location": "query",
	//       "type": "integer"
	//     },
	//     "pageToken": {
	//       "description": "The standard list page token. Typically obtained via ListModelEvaluationsResponse.next_page_token of the previous ModelService.ListModelEvaluations call.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "parent": {
	//       "description": "Required. The resource name of the Model to list the ModelEvaluations from. Format: `projects/{project}/locations/{location}/models/{model}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "readMask": {
	//       "description": "Mask specifying which fields to read.",
	//       "format": "google-fieldmask",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+parent}/evaluations",
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1ListModelEvaluationsResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// Pages invokes f for each page of results.
// 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")) // reset paging to original point
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

// method id "aiplatform.projects.locations.models.evaluations.operations.cancel":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsModelsEvaluationsOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsModelsEvaluationsOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
// non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
// returned 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
	// {
	//   "description": "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`.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/evaluations/{evaluationsId}/operations/{operationsId}:cancel",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.models.evaluations.operations.cancel",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource to be cancelled.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+/evaluations/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}:cancel",
	//   "response": {
	//     "$ref": "GoogleProtobufEmpty"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.models.evaluations.operations.delete":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsModelsEvaluationsOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsModelsEvaluationsOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
// non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
// returned 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
	// {
	//   "description": "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`.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/evaluations/{evaluationsId}/operations/{operationsId}",
	//   "httpMethod": "DELETE",
	//   "id": "aiplatform.projects.locations.models.evaluations.operations.delete",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource to be deleted.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+/evaluations/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleProtobufEmpty"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.models.evaluations.operations.get":

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 information.
func (c *ProjectsLocationsModelsEvaluationsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsModelsEvaluationsOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsModelsEvaluationsOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsModelsEvaluationsOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "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.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/evaluations/{evaluationsId}/operations/{operationsId}",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.models.evaluations.operations.get",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+/evaluations/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.models.evaluations.operations.list":

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 information.
func (c *ProjectsLocationsModelsEvaluationsOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsModelsEvaluationsOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsModelsEvaluationsOperationsListCall) Context(ctx context.Context) *ProjectsLocationsModelsEvaluationsOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningListOperationsResponse or error will
// be non-nil. 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
	// {
	//   "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/evaluations/{evaluationsId}/operations",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.models.evaluations.operations.list",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "filter": {
	//       "description": "The standard list filter.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "name": {
	//       "description": "The name of the operation's parent resource.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+/evaluations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "pageSize": {
	//       "description": "The standard list page size.",
	//       "format": "int32",
	//       "location": "query",
	//       "type": "integer"
	//     },
	//     "pageToken": {
	//       "description": "The standard list page token.",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}/operations",
	//   "response": {
	//     "$ref": "GoogleLongrunningListOperationsResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// Pages invokes f for each page of results.
// 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")) // reset paging to original point
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

// method id "aiplatform.projects.locations.models.evaluations.operations.wait":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsModelsEvaluationsOperationsWaitCall) Context(ctx context.Context) *ProjectsLocationsModelsEvaluationsOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "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.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/evaluations/{evaluationsId}/operations/{operationsId}:wait",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.models.evaluations.operations.wait",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource to wait on.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+/evaluations/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "timeout": {
	//       "description": "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.",
	//       "format": "google-duration",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}:wait",
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.models.evaluations.slices.batchImport":

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/
//     {evaluation}/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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsModelsEvaluationsSlicesBatchImportCall) Context(ctx context.Context) *ProjectsLocationsModelsEvaluationsSlicesBatchImportCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1batchimportevaluatedannotationsrequest)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of
// *GoogleCloudAiplatformV1BatchImportEvaluatedAnnotationsResponse or
// error will be non-nil. Any non-2xx status code is an error. Response
// headers are in either
// *GoogleCloudAiplatformV1BatchImportEvaluatedAnnotationsResponse.Server
// Response.Header or (if a response was returned 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
	// {
	//   "description": "Imports a list of externally generated EvaluatedAnnotations.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/evaluations/{evaluationsId}/slices/{slicesId}:batchImport",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.models.evaluations.slices.batchImport",
	//   "parameterOrder": [
	//     "parent"
	//   ],
	//   "parameters": {
	//     "parent": {
	//       "description": "Required. The name of the parent ModelEvaluationSlice resource. Format: `projects/{project}/locations/{location}/models/{model}/evaluations/{evaluation}/slices/{slice}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+/evaluations/[^/]+/slices/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+parent}:batchImport",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1BatchImportEvaluatedAnnotationsRequest"
	//   },
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1BatchImportEvaluatedAnnotationsResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.models.evaluations.slices.get":

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/
//     {evaluation}/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 information.
func (c *ProjectsLocationsModelsEvaluationsSlicesGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsModelsEvaluationsSlicesGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsModelsEvaluationsSlicesGetCall) Context(ctx context.Context) *ProjectsLocationsModelsEvaluationsSlicesGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleCloudAiplatformV1ModelEvaluationSlice or error
// will be non-nil. 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
	// {
	//   "description": "Gets a ModelEvaluationSlice.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/evaluations/{evaluationsId}/slices/{slicesId}",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.models.evaluations.slices.get",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "Required. The name of the ModelEvaluationSlice resource. Format: `projects/{project}/locations/{location}/models/{model}/evaluations/{evaluation}/slices/{slice}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+/evaluations/[^/]+/slices/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1ModelEvaluationSlice"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.models.evaluations.slices.list":

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/
//     {evaluation}`.
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 information.
func (c *ProjectsLocationsModelsEvaluationsSlicesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsModelsEvaluationsSlicesListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsModelsEvaluationsSlicesListCall) Context(ctx context.Context) *ProjectsLocationsModelsEvaluationsSlicesListCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of
// *GoogleCloudAiplatformV1ListModelEvaluationSlicesResponse or error
// will be non-nil. Any non-2xx status code is an error. Response
// headers are in either
// *GoogleCloudAiplatformV1ListModelEvaluationSlicesResponse.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 *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
	// {
	//   "description": "Lists ModelEvaluationSlices in a ModelEvaluation.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/evaluations/{evaluationsId}/slices",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.models.evaluations.slices.list",
	//   "parameterOrder": [
	//     "parent"
	//   ],
	//   "parameters": {
	//     "filter": {
	//       "description": "The standard list filter. * `slice.dimension` - for =.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "pageSize": {
	//       "description": "The standard list page size.",
	//       "format": "int32",
	//       "location": "query",
	//       "type": "integer"
	//     },
	//     "pageToken": {
	//       "description": "The standard list page token. Typically obtained via ListModelEvaluationSlicesResponse.next_page_token of the previous ModelService.ListModelEvaluationSlices call.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "parent": {
	//       "description": "Required. The resource name of the ModelEvaluation to list the ModelEvaluationSlices from. Format: `projects/{project}/locations/{location}/models/{model}/evaluations/{evaluation}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+/evaluations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "readMask": {
	//       "description": "Mask specifying which fields to read.",
	//       "format": "google-fieldmask",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+parent}/slices",
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1ListModelEvaluationSlicesResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// Pages invokes f for each page of results.
// 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")) // reset paging to original point
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

// method id "aiplatform.projects.locations.models.operations.cancel":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsModelsOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsModelsOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
// non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
// returned 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
	// {
	//   "description": "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`.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/operations/{operationsId}:cancel",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.models.operations.cancel",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource to be cancelled.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}:cancel",
	//   "response": {
	//     "$ref": "GoogleProtobufEmpty"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.models.operations.delete":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsModelsOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsModelsOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
// non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
// returned 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
	// {
	//   "description": "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`.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/operations/{operationsId}",
	//   "httpMethod": "DELETE",
	//   "id": "aiplatform.projects.locations.models.operations.delete",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource to be deleted.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleProtobufEmpty"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.models.operations.get":

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 information.
func (c *ProjectsLocationsModelsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsModelsOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsModelsOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsModelsOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "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.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/operations/{operationsId}",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.models.operations.get",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.models.operations.list":

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 information.
func (c *ProjectsLocationsModelsOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsModelsOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsModelsOperationsListCall) Context(ctx context.Context) *ProjectsLocationsModelsOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningListOperationsResponse or error will
// be non-nil. 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
	// {
	//   "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/operations",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.models.operations.list",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "filter": {
	//       "description": "The standard list filter.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "name": {
	//       "description": "The name of the operation's parent resource.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "pageSize": {
	//       "description": "The standard list page size.",
	//       "format": "int32",
	//       "location": "query",
	//       "type": "integer"
	//     },
	//     "pageToken": {
	//       "description": "The standard list page token.",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}/operations",
	//   "response": {
	//     "$ref": "GoogleLongrunningListOperationsResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// Pages invokes f for each page of results.
// 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")) // reset paging to original point
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

// method id "aiplatform.projects.locations.models.operations.wait":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsModelsOperationsWaitCall) Context(ctx context.Context) *ProjectsLocationsModelsOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "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.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/operations/{operationsId}:wait",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.models.operations.wait",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource to wait on.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/models/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "timeout": {
	//       "description": "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.",
	//       "format": "google-duration",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}:wait",
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.nasJobs.cancel":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsNasJobsCancelCall) Context(ctx context.Context) *ProjectsLocationsNasJobsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1cancelnasjobrequest)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
// non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
// returned 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
	// {
	//   "description": "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`.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/nasJobs/{nasJobsId}:cancel",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.nasJobs.cancel",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "Required. The name of the NasJob to cancel. Format: `projects/{project}/locations/{location}/nasJobs/{nas_job}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/nasJobs/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}:cancel",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1CancelNasJobRequest"
	//   },
	//   "response": {
	//     "$ref": "GoogleProtobufEmpty"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.nasJobs.create":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsNasJobsCreateCall) Context(ctx context.Context) *ProjectsLocationsNasJobsCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1nasjob)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of *GoogleCloudAiplatformV1NasJob or error will be
// non-nil. 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
	// {
	//   "description": "Creates a NasJob",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/nasJobs",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.nasJobs.create",
	//   "parameterOrder": [
	//     "parent"
	//   ],
	//   "parameters": {
	//     "parent": {
	//       "description": "Required. The resource name of the Location to create the NasJob in. Format: `projects/{project}/locations/{location}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+parent}/nasJobs",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1NasJob"
	//   },
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1NasJob"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.nasJobs.delete":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsNasJobsDeleteCall) Context(ctx context.Context) *ProjectsLocationsNasJobsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "Deletes a NasJob.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/nasJobs/{nasJobsId}",
	//   "httpMethod": "DELETE",
	//   "id": "aiplatform.projects.locations.nasJobs.delete",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "Required. The name of the NasJob resource to be deleted. Format: `projects/{project}/locations/{location}/nasJobs/{nas_job}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/nasJobs/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.nasJobs.get":

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 information.
func (c *ProjectsLocationsNasJobsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsNasJobsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsNasJobsGetCall) Context(ctx context.Context) *ProjectsLocationsNasJobsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleCloudAiplatformV1NasJob or error will be
// non-nil. 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
	// {
	//   "description": "Gets a NasJob",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/nasJobs/{nasJobsId}",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.nasJobs.get",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "Required. The name of the NasJob resource. Format: `projects/{project}/locations/{location}/nasJobs/{nas_job}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/nasJobs/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1NasJob"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform",
	//     "https://www.googleapis.com/auth/cloud-platform.read-only"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.nasJobs.list":

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 information.
func (c *ProjectsLocationsNasJobsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsNasJobsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsNasJobsListCall) Context(ctx context.Context) *ProjectsLocationsNasJobsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleCloudAiplatformV1ListNasJobsResponse or error
// will be non-nil. 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
	// {
	//   "description": "Lists NasJobs in a Location.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/nasJobs",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.nasJobs.list",
	//   "parameterOrder": [
	//     "parent"
	//   ],
	//   "parameters": {
	//     "filter": {
	//       "description": "The standard list filter. Supported fields: * `display_name` supports `=`, `!=` comparisons, and `:` wildcard. * `state` supports `=`, `!=` comparisons. * `create_time` supports `=`, `!=`,`\u003c`, `\u003c=`,`\u003e`, `\u003e=` 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\u003e\"2021-05-18T00:00:00Z\"` * `labels.keyA=valueA` * `labels.keyB:*`",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "pageSize": {
	//       "description": "The standard list page size.",
	//       "format": "int32",
	//       "location": "query",
	//       "type": "integer"
	//     },
	//     "pageToken": {
	//       "description": "The standard list page token. Typically obtained via ListNasJobsResponse.next_page_token of the previous JobService.ListNasJobs call.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "parent": {
	//       "description": "Required. The resource name of the Location to list the NasJobs from. Format: `projects/{project}/locations/{location}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "readMask": {
	//       "description": "Mask specifying which fields to read.",
	//       "format": "google-fieldmask",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+parent}/nasJobs",
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1ListNasJobsResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// Pages invokes f for each page of results.
// 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")) // reset paging to original point
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

// method id "aiplatform.projects.locations.nasJobs.nasTrialDetails.get":

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}/nasTrialD
//     etails/{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 information.
func (c *ProjectsLocationsNasJobsNasTrialDetailsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsNasJobsNasTrialDetailsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsNasJobsNasTrialDetailsGetCall) Context(ctx context.Context) *ProjectsLocationsNasJobsNasTrialDetailsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleCloudAiplatformV1NasTrialDetail or error will
// be non-nil. 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
	// {
	//   "description": "Gets a NasTrialDetail.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/nasJobs/{nasJobsId}/nasTrialDetails/{nasTrialDetailsId}",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.nasJobs.nasTrialDetails.get",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "Required. The name of the NasTrialDetail resource. Format: `projects/{project}/locations/{location}/nasJobs/{nas_job}/nasTrialDetails/{nas_trial_detail}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/nasJobs/[^/]+/nasTrialDetails/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1NasTrialDetail"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.nasJobs.nasTrialDetails.list":

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 information.
func (c *ProjectsLocationsNasJobsNasTrialDetailsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsNasJobsNasTrialDetailsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsNasJobsNasTrialDetailsListCall) Context(ctx context.Context) *ProjectsLocationsNasJobsNasTrialDetailsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleCloudAiplatformV1ListNasTrialDetailsResponse or
// error will be non-nil. Any non-2xx status code is an error. Response
// headers are in either
// *GoogleCloudAiplatformV1ListNasTrialDetailsResponse.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 *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
	// {
	//   "description": "List top NasTrialDetails of a NasJob.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/nasJobs/{nasJobsId}/nasTrialDetails",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.nasJobs.nasTrialDetails.list",
	//   "parameterOrder": [
	//     "parent"
	//   ],
	//   "parameters": {
	//     "pageSize": {
	//       "description": "The standard list page size.",
	//       "format": "int32",
	//       "location": "query",
	//       "type": "integer"
	//     },
	//     "pageToken": {
	//       "description": "The standard list page token. Typically obtained via ListNasTrialDetailsResponse.next_page_token of the previous JobService.ListNasTrialDetails call.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "parent": {
	//       "description": "Required. The name of the NasJob resource. Format: `projects/{project}/locations/{location}/nasJobs/{nas_job}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/nasJobs/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+parent}/nasTrialDetails",
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1ListNasTrialDetailsResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// Pages invokes f for each page of results.
// 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")) // reset paging to original point
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

// method id "aiplatform.projects.locations.notebookRuntimeTemplates.create":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsNotebookRuntimeTemplatesCreateCall) Context(ctx context.Context) *ProjectsLocationsNotebookRuntimeTemplatesCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1notebookruntimetemplate)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "Creates a NotebookRuntimeTemplate.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/notebookRuntimeTemplates",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.notebookRuntimeTemplates.create",
	//   "parameterOrder": [
	//     "parent"
	//   ],
	//   "parameters": {
	//     "notebookRuntimeTemplateId": {
	//       "description": "Optional. User specified ID for the notebook runtime template.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "parent": {
	//       "description": "Required. The resource name of the Location to create the NotebookRuntimeTemplate. Format: `projects/{project}/locations/{location}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+parent}/notebookRuntimeTemplates",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1NotebookRuntimeTemplate"
	//   },
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.notebookRuntimeTemplates.delete":

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/{n
//     otebook_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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsNotebookRuntimeTemplatesDeleteCall) Context(ctx context.Context) *ProjectsLocationsNotebookRuntimeTemplatesDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "Deletes a NotebookRuntimeTemplate.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/notebookRuntimeTemplates/{notebookRuntimeTemplatesId}",
	//   "httpMethod": "DELETE",
	//   "id": "aiplatform.projects.locations.notebookRuntimeTemplates.delete",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "Required. The name of the NotebookRuntimeTemplate resource to be deleted. Format: `projects/{project}/locations/{location}/notebookRuntimeTemplates/{notebook_runtime_template}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimeTemplates/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.notebookRuntimeTemplates.get":

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/{n
//     otebook_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 information.
func (c *ProjectsLocationsNotebookRuntimeTemplatesGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsNotebookRuntimeTemplatesGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsNotebookRuntimeTemplatesGetCall) Context(ctx context.Context) *ProjectsLocationsNotebookRuntimeTemplatesGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleCloudAiplatformV1NotebookRuntimeTemplate or
// error will be non-nil. 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
	// {
	//   "description": "Gets a NotebookRuntimeTemplate.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/notebookRuntimeTemplates/{notebookRuntimeTemplatesId}",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.notebookRuntimeTemplates.get",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "Required. The name of the NotebookRuntimeTemplate resource. Format: `projects/{project}/locations/{location}/notebookRuntimeTemplates/{notebook_runtime_template}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimeTemplates/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1NotebookRuntimeTemplate"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.notebookRuntimeTemplates.getIamPolicy":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsNotebookRuntimeTemplatesGetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsNotebookRuntimeTemplatesGetIamPolicyCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleIamV1Policy or error will be non-nil. 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
	// {
	//   "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/notebookRuntimeTemplates/{notebookRuntimeTemplatesId}:getIamPolicy",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.notebookRuntimeTemplates.getIamPolicy",
	//   "parameterOrder": [
	//     "resource"
	//   ],
	//   "parameters": {
	//     "options.requestedPolicyVersion": {
	//       "description": "Optional. 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).",
	//       "format": "int32",
	//       "location": "query",
	//       "type": "integer"
	//     },
	//     "resource": {
	//       "description": "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.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimeTemplates/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+resource}:getIamPolicy",
	//   "response": {
	//     "$ref": "GoogleIamV1Policy"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.notebookRuntimeTemplates.list":

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 information.
func (c *ProjectsLocationsNotebookRuntimeTemplatesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsNotebookRuntimeTemplatesListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsNotebookRuntimeTemplatesListCall) Context(ctx context.Context) *ProjectsLocationsNotebookRuntimeTemplatesListCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of
// *GoogleCloudAiplatformV1ListNotebookRuntimeTemplatesResponse or error
// will be non-nil. Any non-2xx status code is an error. Response
// headers are in either
// *GoogleCloudAiplatformV1ListNotebookRuntimeTemplatesResponse.ServerRes
// ponse.Header or (if a response was returned 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
	// {
	//   "description": "Lists NotebookRuntimeTemplates in a Location.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/notebookRuntimeTemplates",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.notebookRuntimeTemplates.list",
	//   "parameterOrder": [
	//     "parent"
	//   ],
	//   "parameters": {
	//     "filter": {
	//       "description": "Optional. 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`",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "orderBy": {
	//       "description": "Optional. 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`.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "pageSize": {
	//       "description": "Optional. The standard list page size.",
	//       "format": "int32",
	//       "location": "query",
	//       "type": "integer"
	//     },
	//     "pageToken": {
	//       "description": "Optional. The standard list page token. Typically obtained via ListNotebookRuntimeTemplatesResponse.next_page_token of the previous NotebookService.ListNotebookRuntimeTemplates call.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "parent": {
	//       "description": "Required. The resource name of the Location from which to list the NotebookRuntimeTemplates. Format: `projects/{project}/locations/{location}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "readMask": {
	//       "description": "Optional. Mask specifying which fields to read.",
	//       "format": "google-fieldmask",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+parent}/notebookRuntimeTemplates",
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1ListNotebookRuntimeTemplatesResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// Pages invokes f for each page of results.
// 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")) // reset paging to original point
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

// method id "aiplatform.projects.locations.notebookRuntimeTemplates.setIamPolicy":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsNotebookRuntimeTemplatesSetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsNotebookRuntimeTemplatesSetIamPolicyCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googleiamv1setiampolicyrequest)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of *GoogleIamV1Policy or error will be non-nil. 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
	// {
	//   "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/notebookRuntimeTemplates/{notebookRuntimeTemplatesId}:setIamPolicy",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.notebookRuntimeTemplates.setIamPolicy",
	//   "parameterOrder": [
	//     "resource"
	//   ],
	//   "parameters": {
	//     "resource": {
	//       "description": "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.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimeTemplates/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+resource}:setIamPolicy",
	//   "request": {
	//     "$ref": "GoogleIamV1SetIamPolicyRequest"
	//   },
	//   "response": {
	//     "$ref": "GoogleIamV1Policy"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.notebookRuntimeTemplates.testIamPermissions":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsNotebookRuntimeTemplatesTestIamPermissionsCall) Context(ctx context.Context) *ProjectsLocationsNotebookRuntimeTemplatesTestIamPermissionsCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleIamV1TestIamPermissionsResponse or error will
// be non-nil. 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
	// {
	//   "description": "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.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/notebookRuntimeTemplates/{notebookRuntimeTemplatesId}:testIamPermissions",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.notebookRuntimeTemplates.testIamPermissions",
	//   "parameterOrder": [
	//     "resource"
	//   ],
	//   "parameters": {
	//     "permissions": {
	//       "description": "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).",
	//       "location": "query",
	//       "repeated": true,
	//       "type": "string"
	//     },
	//     "resource": {
	//       "description": "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.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimeTemplates/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+resource}:testIamPermissions",
	//   "response": {
	//     "$ref": "GoogleIamV1TestIamPermissionsResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.notebookRuntimes.assign":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsNotebookRuntimesAssignCall) Context(ctx context.Context) *ProjectsLocationsNotebookRuntimesAssignCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1assignnotebookruntimerequest)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "Assigns a NotebookRuntime to a user for a particular Notebook file. This method will either returns an existing assignment or generates a new one.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/notebookRuntimes:assign",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.notebookRuntimes.assign",
	//   "parameterOrder": [
	//     "parent"
	//   ],
	//   "parameters": {
	//     "parent": {
	//       "description": "Required. The resource name of the Location to get the NotebookRuntime assignment. Format: `projects/{project}/locations/{location}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+parent}/notebookRuntimes:assign",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1AssignNotebookRuntimeRequest"
	//   },
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.notebookRuntimes.delete":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsNotebookRuntimesDeleteCall) Context(ctx context.Context) *ProjectsLocationsNotebookRuntimesDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "Deletes a NotebookRuntime.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/notebookRuntimes/{notebookRuntimesId}",
	//   "httpMethod": "DELETE",
	//   "id": "aiplatform.projects.locations.notebookRuntimes.delete",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "Required. 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.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimes/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.notebookRuntimes.get":

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 information.
func (c *ProjectsLocationsNotebookRuntimesGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsNotebookRuntimesGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsNotebookRuntimesGetCall) Context(ctx context.Context) *ProjectsLocationsNotebookRuntimesGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleCloudAiplatformV1NotebookRuntime or error will
// be non-nil. 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
	// {
	//   "description": "Gets a NotebookRuntime.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/notebookRuntimes/{notebookRuntimesId}",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.notebookRuntimes.get",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "Required. 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.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimes/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1NotebookRuntime"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.notebookRuntimes.list":

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]. *
// `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 information.
func (c *ProjectsLocationsNotebookRuntimesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsNotebookRuntimesListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsNotebookRuntimesListCall) Context(ctx context.Context) *ProjectsLocationsNotebookRuntimesListCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleCloudAiplatformV1ListNotebookRuntimesResponse
// or error will be non-nil. Any non-2xx status code is an error.
// Response headers are in either
// *GoogleCloudAiplatformV1ListNotebookRuntimesResponse.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 *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
	// {
	//   "description": "Lists NotebookRuntimes in a Location.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/notebookRuntimes",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.notebookRuntimes.list",
	//   "parameterOrder": [
	//     "parent"
	//   ],
	//   "parameters": {
	//     "filter": {
	//       "description": "Optional. 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]. * `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`",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "orderBy": {
	//       "description": "Optional. 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`.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "pageSize": {
	//       "description": "Optional. The standard list page size.",
	//       "format": "int32",
	//       "location": "query",
	//       "type": "integer"
	//     },
	//     "pageToken": {
	//       "description": "Optional. The standard list page token. Typically obtained via ListNotebookRuntimesResponse.next_page_token of the previous NotebookService.ListNotebookRuntimes call.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "parent": {
	//       "description": "Required. The resource name of the Location from which to list the NotebookRuntimes. Format: `projects/{project}/locations/{location}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "readMask": {
	//       "description": "Optional. Mask specifying which fields to read.",
	//       "format": "google-fieldmask",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+parent}/notebookRuntimes",
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1ListNotebookRuntimesResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// Pages invokes f for each page of results.
// 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")) // reset paging to original point
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

// method id "aiplatform.projects.locations.notebookRuntimes.start":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsNotebookRuntimesStartCall) Context(ctx context.Context) *ProjectsLocationsNotebookRuntimesStartCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1startnotebookruntimerequest)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "Starts a NotebookRuntime.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/notebookRuntimes/{notebookRuntimesId}:start",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.notebookRuntimes.start",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "Required. 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.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimes/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}:start",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1StartNotebookRuntimeRequest"
	//   },
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.operations.cancel":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
// non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
// returned 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
	// {
	//   "description": "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`.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.operations.cancel",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource to be cancelled.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}:cancel",
	//   "response": {
	//     "$ref": "GoogleProtobufEmpty"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.operations.delete":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
// non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
// returned 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
	// {
	//   "description": "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`.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}",
	//   "httpMethod": "DELETE",
	//   "id": "aiplatform.projects.locations.operations.delete",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource to be deleted.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleProtobufEmpty"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.operations.get":

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 information.
func (c *ProjectsLocationsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "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.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.operations.get",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.operations.list":

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 information.
func (c *ProjectsLocationsOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsOperationsListCall) Context(ctx context.Context) *ProjectsLocationsOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningListOperationsResponse or error will
// be non-nil. 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
	// {
	//   "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.operations.list",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "filter": {
	//       "description": "The standard list filter.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "name": {
	//       "description": "The name of the operation's parent resource.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "pageSize": {
	//       "description": "The standard list page size.",
	//       "format": "int32",
	//       "location": "query",
	//       "type": "integer"
	//     },
	//     "pageToken": {
	//       "description": "The standard list page token.",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}/operations",
	//   "response": {
	//     "$ref": "GoogleLongrunningListOperationsResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// Pages invokes f for each page of results.
// 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")) // reset paging to original point
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

// method id "aiplatform.projects.locations.operations.wait":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsOperationsWaitCall) Context(ctx context.Context) *ProjectsLocationsOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "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.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:wait",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.operations.wait",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource to wait on.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "timeout": {
	//       "description": "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.",
	//       "format": "google-duration",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}:wait",
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.pipelineJobs.cancel":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsPipelineJobsCancelCall) Context(ctx context.Context) *ProjectsLocationsPipelineJobsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1cancelpipelinejobrequest)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
// non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
// returned 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
	// {
	//   "description": "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`.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/pipelineJobs/{pipelineJobsId}:cancel",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.pipelineJobs.cancel",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "Required. The name of the PipelineJob to cancel. Format: `projects/{project}/locations/{location}/pipelineJobs/{pipeline_job}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/pipelineJobs/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}:cancel",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1CancelPipelineJobRequest"
	//   },
	//   "response": {
	//     "$ref": "GoogleProtobufEmpty"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.pipelineJobs.create":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsPipelineJobsCreateCall) Context(ctx context.Context) *ProjectsLocationsPipelineJobsCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1pipelinejob)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of *GoogleCloudAiplatformV1PipelineJob or error will be
// non-nil. 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
	// {
	//   "description": "Creates a PipelineJob. A PipelineJob will run immediately when created.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/pipelineJobs",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.pipelineJobs.create",
	//   "parameterOrder": [
	//     "parent"
	//   ],
	//   "parameters": {
	//     "parent": {
	//       "description": "Required. The resource name of the Location to create the PipelineJob in. Format: `projects/{project}/locations/{location}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "pipelineJobId": {
	//       "description": "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-/`.",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+parent}/pipelineJobs",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1PipelineJob"
	//   },
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1PipelineJob"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.pipelineJobs.delete":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsPipelineJobsDeleteCall) Context(ctx context.Context) *ProjectsLocationsPipelineJobsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "Deletes a PipelineJob.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/pipelineJobs/{pipelineJobsId}",
	//   "httpMethod": "DELETE",
	//   "id": "aiplatform.projects.locations.pipelineJobs.delete",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "Required. The name of the PipelineJob resource to be deleted. Format: `projects/{project}/locations/{location}/pipelineJobs/{pipeline_job}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/pipelineJobs/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.pipelineJobs.get":

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 information.
func (c *ProjectsLocationsPipelineJobsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsPipelineJobsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsPipelineJobsGetCall) Context(ctx context.Context) *ProjectsLocationsPipelineJobsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleCloudAiplatformV1PipelineJob or error will be
// non-nil. 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
	// {
	//   "description": "Gets a PipelineJob.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/pipelineJobs/{pipelineJobsId}",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.pipelineJobs.get",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "Required. The name of the PipelineJob resource. Format: `projects/{project}/locations/{location}/pipelineJobs/{pipeline_job}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/pipelineJobs/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1PipelineJob"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.pipelineJobs.list":

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 information.
func (c *ProjectsLocationsPipelineJobsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsPipelineJobsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsPipelineJobsListCall) Context(ctx context.Context) *ProjectsLocationsPipelineJobsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleCloudAiplatformV1ListPipelineJobsResponse or
// error will be non-nil. 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
	// {
	//   "description": "Lists PipelineJobs in a Location.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/pipelineJobs",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.pipelineJobs.list",
	//   "parameterOrder": [
	//     "parent"
	//   ],
	//   "parameters": {
	//     "filter": {
	//       "description": "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 `=`, `!=`, `\u003c`, `\u003e`, `\u003c=`, and `\u003e=` comparisons. Values must be in RFC 3339 format. * `update_time`: Supports `=`, `!=`, `\u003c`, `\u003e`, `\u003c=`, and `\u003e=` comparisons. Values must be in RFC 3339 format. * `end_time`: Supports `=`, `!=`, `\u003c`, `\u003e`, `\u003c=`, and `\u003e=` 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` \u0026 `OR`). For example: `pipeline_name=\"test\" AND create_time\u003e\"2020-05-18T13:30:00Z\"`. The syntax to define filter expression is based on https://google.aip.dev/160. Examples: * `create_time\u003e\"2021-05-18T00:00:00Z\" OR update_time\u003e\"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\".",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "orderBy": {
	//       "description": "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`",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "pageSize": {
	//       "description": "The standard list page size.",
	//       "format": "int32",
	//       "location": "query",
	//       "type": "integer"
	//     },
	//     "pageToken": {
	//       "description": "The standard list page token. Typically obtained via ListPipelineJobsResponse.next_page_token of the previous PipelineService.ListPipelineJobs call.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "parent": {
	//       "description": "Required. The resource name of the Location to list the PipelineJobs from. Format: `projects/{project}/locations/{location}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "readMask": {
	//       "description": "Mask specifying which fields to read.",
	//       "format": "google-fieldmask",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+parent}/pipelineJobs",
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1ListPipelineJobsResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// Pages invokes f for each page of results.
// 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")) // reset paging to original point
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

// method id "aiplatform.projects.locations.pipelineJobs.operations.cancel":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsPipelineJobsOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsPipelineJobsOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
// non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
// returned 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
	// {
	//   "description": "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`.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/pipelineJobs/{pipelineJobsId}/operations/{operationsId}:cancel",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.pipelineJobs.operations.cancel",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource to be cancelled.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/pipelineJobs/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}:cancel",
	//   "response": {
	//     "$ref": "GoogleProtobufEmpty"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.pipelineJobs.operations.delete":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsPipelineJobsOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsPipelineJobsOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
// non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
// returned 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
	// {
	//   "description": "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`.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/pipelineJobs/{pipelineJobsId}/operations/{operationsId}",
	//   "httpMethod": "DELETE",
	//   "id": "aiplatform.projects.locations.pipelineJobs.operations.delete",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource to be deleted.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/pipelineJobs/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleProtobufEmpty"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.pipelineJobs.operations.get":

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 information.
func (c *ProjectsLocationsPipelineJobsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsPipelineJobsOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsPipelineJobsOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsPipelineJobsOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "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.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/pipelineJobs/{pipelineJobsId}/operations/{operationsId}",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.pipelineJobs.operations.get",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/pipelineJobs/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.pipelineJobs.operations.list":

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 information.
func (c *ProjectsLocationsPipelineJobsOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsPipelineJobsOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsPipelineJobsOperationsListCall) Context(ctx context.Context) *ProjectsLocationsPipelineJobsOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningListOperationsResponse or error will
// be non-nil. 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
	// {
	//   "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/pipelineJobs/{pipelineJobsId}/operations",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.pipelineJobs.operations.list",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "filter": {
	//       "description": "The standard list filter.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "name": {
	//       "description": "The name of the operation's parent resource.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/pipelineJobs/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "pageSize": {
	//       "description": "The standard list page size.",
	//       "format": "int32",
	//       "location": "query",
	//       "type": "integer"
	//     },
	//     "pageToken": {
	//       "description": "The standard list page token.",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}/operations",
	//   "response": {
	//     "$ref": "GoogleLongrunningListOperationsResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// Pages invokes f for each page of results.
// 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")) // reset paging to original point
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

// method id "aiplatform.projects.locations.pipelineJobs.operations.wait":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsPipelineJobsOperationsWaitCall) Context(ctx context.Context) *ProjectsLocationsPipelineJobsOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "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.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/pipelineJobs/{pipelineJobsId}/operations/{operationsId}:wait",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.pipelineJobs.operations.wait",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource to wait on.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/pipelineJobs/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "timeout": {
	//       "description": "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.",
	//       "format": "google-duration",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}:wait",
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.publishers.models.predict":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsPublishersModelsPredictCall) Context(ctx context.Context) *ProjectsLocationsPublishersModelsPredictCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1predictrequest)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of *GoogleCloudAiplatformV1PredictResponse or error will
// be non-nil. 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
	// {
	//   "description": "Perform an online prediction.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/models/{modelsId}:predict",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.publishers.models.predict",
	//   "parameterOrder": [
	//     "endpoint"
	//   ],
	//   "parameters": {
	//     "endpoint": {
	//       "description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/publishers/[^/]+/models/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+endpoint}:predict",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1PredictRequest"
	//   },
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1PredictResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.publishers.models.rawPredict":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsPublishersModelsRawPredictCall) Context(ctx context.Context) *ProjectsLocationsPublishersModelsRawPredictCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1rawpredictrequest)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of *GoogleApiHttpBody or error will be non-nil. 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
	// {
	//   "description": "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.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/models/{modelsId}:rawPredict",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.publishers.models.rawPredict",
	//   "parameterOrder": [
	//     "endpoint"
	//   ],
	//   "parameters": {
	//     "endpoint": {
	//       "description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/publishers/[^/]+/models/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+endpoint}:rawPredict",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1RawPredictRequest"
	//   },
	//   "response": {
	//     "$ref": "GoogleApiHttpBody"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.publishers.models.serverStreamingPredict":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsPublishersModelsServerStreamingPredictCall) Context(ctx context.Context) *ProjectsLocationsPublishersModelsServerStreamingPredictCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1streamingpredictrequest)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of *GoogleCloudAiplatformV1StreamingPredictResponse or
// error will be non-nil. 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
	// {
	//   "description": "Perform a server-side streaming online prediction request for Vertex LLM streaming.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/models/{modelsId}:serverStreamingPredict",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.publishers.models.serverStreamingPredict",
	//   "parameterOrder": [
	//     "endpoint"
	//   ],
	//   "parameters": {
	//     "endpoint": {
	//       "description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/publishers/[^/]+/models/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+endpoint}:serverStreamingPredict",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1StreamingPredictRequest"
	//   },
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1StreamingPredictResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.schedules.create":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsSchedulesCreateCall) Context(ctx context.Context) *ProjectsLocationsSchedulesCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1schedule)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of *GoogleCloudAiplatformV1Schedule or error will be
// non-nil. 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
	// {
	//   "description": "Creates a Schedule.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/schedules",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.schedules.create",
	//   "parameterOrder": [
	//     "parent"
	//   ],
	//   "parameters": {
	//     "parent": {
	//       "description": "Required. The resource name of the Location to create the Schedule in. Format: `projects/{project}/locations/{location}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+parent}/schedules",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1Schedule"
	//   },
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1Schedule"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.schedules.delete":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsSchedulesDeleteCall) Context(ctx context.Context) *ProjectsLocationsSchedulesDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "Deletes a Schedule.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/schedules/{schedulesId}",
	//   "httpMethod": "DELETE",
	//   "id": "aiplatform.projects.locations.schedules.delete",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "Required. The name of the Schedule resource to be deleted. Format: `projects/{project}/locations/{location}/schedules/{schedule}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/schedules/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.schedules.get":

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 information.
func (c *ProjectsLocationsSchedulesGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsSchedulesGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsSchedulesGetCall) Context(ctx context.Context) *ProjectsLocationsSchedulesGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleCloudAiplatformV1Schedule or error will be
// non-nil. 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
	// {
	//   "description": "Gets a Schedule.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/schedules/{schedulesId}",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.schedules.get",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "Required. The name of the Schedule resource. Format: `projects/{project}/locations/{location}/schedules/{schedule}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/schedules/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1Schedule"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.schedules.list":

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 information.
func (c *ProjectsLocationsSchedulesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsSchedulesListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsSchedulesListCall) Context(ctx context.Context) *ProjectsLocationsSchedulesListCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleCloudAiplatformV1ListSchedulesResponse or error
// will be non-nil. 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
	// {
	//   "description": "Lists Schedules in a Location.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/schedules",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.schedules.list",
	//   "parameterOrder": [
	//     "parent"
	//   ],
	//   "parameters": {
	//     "filter": {
	//       "description": "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:*` --\u003e Schedule has create_pipeline_job_request). * `create_time`: Supports `=`, `!=`, `\u003c`, `\u003e`, `\u003c=`, and `\u003e=` comparisons. Values must be in RFC 3339 format. * `start_time`: Supports `=`, `!=`, `\u003c`, `\u003e`, `\u003c=`, and `\u003e=` comparisons. Values must be in RFC 3339 format. * `end_time`: Supports `=`, `!=`, `\u003c`, `\u003e`, `\u003c=`, `\u003e=` comparisons and `:*` existence check. Values must be in RFC 3339 format. * `next_run_time`: Supports `=`, `!=`, `\u003c`, `\u003e`, `\u003c=`, and `\u003e=` comparisons. Values must be in RFC 3339 format. Filter expressions can be combined together using logical operators (`NOT`, `AND` \u0026 `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\u003e\"2021-05-18T00:00:00Z\"` * `end_time\u003e\"2021-05-18T00:00:00Z\" OR NOT end_time:*` * `create_pipeline_job_request:*`",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "orderBy": {
	//       "description": "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`",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "pageSize": {
	//       "description": "The standard list page size. Default to 100 if not specified.",
	//       "format": "int32",
	//       "location": "query",
	//       "type": "integer"
	//     },
	//     "pageToken": {
	//       "description": "The standard list page token. Typically obtained via ListSchedulesResponse.next_page_token of the previous ScheduleService.ListSchedules call.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "parent": {
	//       "description": "Required. The resource name of the Location to list the Schedules from. Format: `projects/{project}/locations/{location}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+parent}/schedules",
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1ListSchedulesResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// Pages invokes f for each page of results.
// 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")) // reset paging to original point
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

// method id "aiplatform.projects.locations.schedules.patch":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsSchedulesPatchCall) Context(ctx context.Context) *ProjectsLocationsSchedulesPatchCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1schedule)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	c.urlParams_.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.
// Exactly one of *GoogleCloudAiplatformV1Schedule or error will be
// non-nil. 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
	// {
	//   "description": "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.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/schedules/{schedulesId}",
	//   "httpMethod": "PATCH",
	//   "id": "aiplatform.projects.locations.schedules.patch",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "Immutable. The resource name of the Schedule.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/schedules/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "updateMask": {
	//       "description": "Required. The update mask applies to the resource. See google.protobuf.FieldMask.",
	//       "format": "google-fieldmask",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1Schedule"
	//   },
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1Schedule"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.schedules.pause":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsSchedulesPauseCall) Context(ctx context.Context) *ProjectsLocationsSchedulesPauseCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1pauseschedulerequest)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
// non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
// returned 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
	// {
	//   "description": "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.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/schedules/{schedulesId}:pause",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.schedules.pause",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "Required. The name of the Schedule resource to be paused. Format: `projects/{project}/locations/{location}/schedules/{schedule}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/schedules/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}:pause",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1PauseScheduleRequest"
	//   },
	//   "response": {
	//     "$ref": "GoogleProtobufEmpty"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.schedules.resume":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsSchedulesResumeCall) Context(ctx context.Context) *ProjectsLocationsSchedulesResumeCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1resumeschedulerequest)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
// non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
// returned 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
	// {
	//   "description": "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.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/schedules/{schedulesId}:resume",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.schedules.resume",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "Required. The name of the Schedule resource to be resumed. Format: `projects/{project}/locations/{location}/schedules/{schedule}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/schedules/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}:resume",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1ResumeScheduleRequest"
	//   },
	//   "response": {
	//     "$ref": "GoogleProtobufEmpty"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.schedules.operations.cancel":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsSchedulesOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsSchedulesOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
// non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
// returned 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
	// {
	//   "description": "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`.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/schedules/{schedulesId}/operations/{operationsId}:cancel",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.schedules.operations.cancel",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource to be cancelled.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/schedules/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}:cancel",
	//   "response": {
	//     "$ref": "GoogleProtobufEmpty"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.schedules.operations.delete":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsSchedulesOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsSchedulesOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
// non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
// returned 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
	// {
	//   "description": "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`.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/schedules/{schedulesId}/operations/{operationsId}",
	//   "httpMethod": "DELETE",
	//   "id": "aiplatform.projects.locations.schedules.operations.delete",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource to be deleted.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/schedules/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleProtobufEmpty"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.schedules.operations.get":

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 information.
func (c *ProjectsLocationsSchedulesOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsSchedulesOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsSchedulesOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsSchedulesOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "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.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/schedules/{schedulesId}/operations/{operationsId}",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.schedules.operations.get",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/schedules/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.schedules.operations.list":

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 information.
func (c *ProjectsLocationsSchedulesOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsSchedulesOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsSchedulesOperationsListCall) Context(ctx context.Context) *ProjectsLocationsSchedulesOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningListOperationsResponse or error will
// be non-nil. 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
	// {
	//   "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/schedules/{schedulesId}/operations",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.schedules.operations.list",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "filter": {
	//       "description": "The standard list filter.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "name": {
	//       "description": "The name of the operation's parent resource.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/schedules/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "pageSize": {
	//       "description": "The standard list page size.",
	//       "format": "int32",
	//       "location": "query",
	//       "type": "integer"
	//     },
	//     "pageToken": {
	//       "description": "The standard list page token.",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}/operations",
	//   "response": {
	//     "$ref": "GoogleLongrunningListOperationsResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// Pages invokes f for each page of results.
// 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")) // reset paging to original point
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

// method id "aiplatform.projects.locations.schedules.operations.wait":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsSchedulesOperationsWaitCall) Context(ctx context.Context) *ProjectsLocationsSchedulesOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "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.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/schedules/{schedulesId}/operations/{operationsId}:wait",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.schedules.operations.wait",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource to wait on.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/schedules/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "timeout": {
	//       "description": "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.",
	//       "format": "google-duration",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}:wait",
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.specialistPools.create":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsSpecialistPoolsCreateCall) Context(ctx context.Context) *ProjectsLocationsSpecialistPoolsCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1specialistpool)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "Creates a SpecialistPool.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/specialistPools",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.specialistPools.create",
	//   "parameterOrder": [
	//     "parent"
	//   ],
	//   "parameters": {
	//     "parent": {
	//       "description": "Required. The parent Project name for the new SpecialistPool. The form is `projects/{project}/locations/{location}`.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+parent}/specialistPools",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1SpecialistPool"
	//   },
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.specialistPools.delete":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsSpecialistPoolsDeleteCall) Context(ctx context.Context) *ProjectsLocationsSpecialistPoolsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "Deletes a SpecialistPool as well as all Specialists in the pool.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/specialistPools/{specialistPoolsId}",
	//   "httpMethod": "DELETE",
	//   "id": "aiplatform.projects.locations.specialistPools.delete",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "force": {
	//       "description": "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.)",
	//       "location": "query",
	//       "type": "boolean"
	//     },
	//     "name": {
	//       "description": "Required. The resource name of the SpecialistPool to delete. Format: `projects/{project}/locations/{location}/specialistPools/{specialist_pool}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/specialistPools/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.specialistPools.get":

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 information.
func (c *ProjectsLocationsSpecialistPoolsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsSpecialistPoolsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsSpecialistPoolsGetCall) Context(ctx context.Context) *ProjectsLocationsSpecialistPoolsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleCloudAiplatformV1SpecialistPool or error will
// be non-nil. 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
	// {
	//   "description": "Gets a SpecialistPool.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/specialistPools/{specialistPoolsId}",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.specialistPools.get",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "Required. The name of the SpecialistPool resource. The form is `projects/{project}/locations/{location}/specialistPools/{specialist_pool}`.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/specialistPools/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1SpecialistPool"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.specialistPools.list":

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 information.
func (c *ProjectsLocationsSpecialistPoolsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsSpecialistPoolsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsSpecialistPoolsListCall) Context(ctx context.Context) *ProjectsLocationsSpecialistPoolsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleCloudAiplatformV1ListSpecialistPoolsResponse or
// error will be non-nil. Any non-2xx status code is an error. Response
// headers are in either
// *GoogleCloudAiplatformV1ListSpecialistPoolsResponse.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 *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
	// {
	//   "description": "Lists SpecialistPools in a Location.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/specialistPools",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.specialistPools.list",
	//   "parameterOrder": [
	//     "parent"
	//   ],
	//   "parameters": {
	//     "pageSize": {
	//       "description": "The standard list page size.",
	//       "format": "int32",
	//       "location": "query",
	//       "type": "integer"
	//     },
	//     "pageToken": {
	//       "description": "The standard list page token. Typically obtained by ListSpecialistPoolsResponse.next_page_token of the previous SpecialistPoolService.ListSpecialistPools call. Return first page if empty.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "parent": {
	//       "description": "Required. The name of the SpecialistPool's parent resource. Format: `projects/{project}/locations/{location}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "readMask": {
	//       "description": "Mask specifying which fields to read. FieldMask represents a set of",
	//       "format": "google-fieldmask",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+parent}/specialistPools",
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1ListSpecialistPoolsResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// Pages invokes f for each page of results.
// 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")) // reset paging to original point
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

// method id "aiplatform.projects.locations.specialistPools.patch":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsSpecialistPoolsPatchCall) Context(ctx context.Context) *ProjectsLocationsSpecialistPoolsPatchCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1specialistpool)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	c.urlParams_.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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "Updates a SpecialistPool.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/specialistPools/{specialistPoolsId}",
	//   "httpMethod": "PATCH",
	//   "id": "aiplatform.projects.locations.specialistPools.patch",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "Required. The resource name of the SpecialistPool.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/specialistPools/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "updateMask": {
	//       "description": "Required. The update mask applies to the resource.",
	//       "format": "google-fieldmask",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1SpecialistPool"
	//   },
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.specialistPools.operations.cancel":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsSpecialistPoolsOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsSpecialistPoolsOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
// non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
// returned 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
	// {
	//   "description": "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`.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/specialistPools/{specialistPoolsId}/operations/{operationsId}:cancel",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.specialistPools.operations.cancel",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource to be cancelled.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/specialistPools/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}:cancel",
	//   "response": {
	//     "$ref": "GoogleProtobufEmpty"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.specialistPools.operations.delete":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsSpecialistPoolsOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsSpecialistPoolsOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
// non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
// returned 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
	// {
	//   "description": "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`.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/specialistPools/{specialistPoolsId}/operations/{operationsId}",
	//   "httpMethod": "DELETE",
	//   "id": "aiplatform.projects.locations.specialistPools.operations.delete",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource to be deleted.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/specialistPools/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleProtobufEmpty"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.specialistPools.operations.get":

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 information.
func (c *ProjectsLocationsSpecialistPoolsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsSpecialistPoolsOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsSpecialistPoolsOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsSpecialistPoolsOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "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.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/specialistPools/{specialistPoolsId}/operations/{operationsId}",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.specialistPools.operations.get",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/specialistPools/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.specialistPools.operations.list":

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 information.
func (c *ProjectsLocationsSpecialistPoolsOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsSpecialistPoolsOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsSpecialistPoolsOperationsListCall) Context(ctx context.Context) *ProjectsLocationsSpecialistPoolsOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningListOperationsResponse or error will
// be non-nil. 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
	// {
	//   "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/specialistPools/{specialistPoolsId}/operations",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.specialistPools.operations.list",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "filter": {
	//       "description": "The standard list filter.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "name": {
	//       "description": "The name of the operation's parent resource.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/specialistPools/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "pageSize": {
	//       "description": "The standard list page size.",
	//       "format": "int32",
	//       "location": "query",
	//       "type": "integer"
	//     },
	//     "pageToken": {
	//       "description": "The standard list page token.",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}/operations",
	//   "response": {
	//     "$ref": "GoogleLongrunningListOperationsResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// Pages invokes f for each page of results.
// 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")) // reset paging to original point
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

// method id "aiplatform.projects.locations.specialistPools.operations.wait":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsSpecialistPoolsOperationsWaitCall) Context(ctx context.Context) *ProjectsLocationsSpecialistPoolsOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "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.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/specialistPools/{specialistPoolsId}/operations/{operationsId}:wait",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.specialistPools.operations.wait",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource to wait on.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/specialistPools/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "timeout": {
	//       "description": "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.",
	//       "format": "google-duration",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}:wait",
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.studies.create":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsStudiesCreateCall) Context(ctx context.Context) *ProjectsLocationsStudiesCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1study)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of *GoogleCloudAiplatformV1Study or error will be
// non-nil. 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
	// {
	//   "description": "Creates a Study. A resource name will be generated after creation of the Study.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.studies.create",
	//   "parameterOrder": [
	//     "parent"
	//   ],
	//   "parameters": {
	//     "parent": {
	//       "description": "Required. The resource name of the Location to create the CustomJob in. Format: `projects/{project}/locations/{location}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+parent}/studies",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1Study"
	//   },
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1Study"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.studies.delete":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsStudiesDeleteCall) Context(ctx context.Context) *ProjectsLocationsStudiesDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
// non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
// returned 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
	// {
	//   "description": "Deletes a Study.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}",
	//   "httpMethod": "DELETE",
	//   "id": "aiplatform.projects.locations.studies.delete",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "Required. The name of the Study resource to be deleted. Format: `projects/{project}/locations/{location}/studies/{study}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleProtobufEmpty"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.studies.get":

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 information.
func (c *ProjectsLocationsStudiesGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsStudiesGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsStudiesGetCall) Context(ctx context.Context) *ProjectsLocationsStudiesGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleCloudAiplatformV1Study or error will be
// non-nil. 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
	// {
	//   "description": "Gets a Study by name.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.studies.get",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "Required. The name of the Study resource. Format: `projects/{project}/locations/{location}/studies/{study}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1Study"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.studies.list":

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 information.
func (c *ProjectsLocationsStudiesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsStudiesListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsStudiesListCall) Context(ctx context.Context) *ProjectsLocationsStudiesListCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleCloudAiplatformV1ListStudiesResponse or error
// will be non-nil. 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
	// {
	//   "description": "Lists all the studies in a region for an associated project.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.studies.list",
	//   "parameterOrder": [
	//     "parent"
	//   ],
	//   "parameters": {
	//     "pageSize": {
	//       "description": "Optional. The maximum number of studies to return per \"page\" of results. If unspecified, service will pick an appropriate default.",
	//       "format": "int32",
	//       "location": "query",
	//       "type": "integer"
	//     },
	//     "pageToken": {
	//       "description": "Optional. A page token to request the next page of results. If unspecified, there are no subsequent pages.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "parent": {
	//       "description": "Required. The resource name of the Location to list the Study from. Format: `projects/{project}/locations/{location}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+parent}/studies",
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1ListStudiesResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// Pages invokes f for each page of results.
// 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")) // reset paging to original point
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

// method id "aiplatform.projects.locations.studies.lookup":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsStudiesLookupCall) Context(ctx context.Context) *ProjectsLocationsStudiesLookupCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1lookupstudyrequest)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of *GoogleCloudAiplatformV1Study or error will be
// non-nil. 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
	// {
	//   "description": "Looks a study up using the user-defined display_name field instead of the fully qualified resource name.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies:lookup",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.studies.lookup",
	//   "parameterOrder": [
	//     "parent"
	//   ],
	//   "parameters": {
	//     "parent": {
	//       "description": "Required. The resource name of the Location to get the Study from. Format: `projects/{project}/locations/{location}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+parent}/studies:lookup",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1LookupStudyRequest"
	//   },
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1Study"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.studies.operations.cancel":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsStudiesOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsStudiesOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
// non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
// returned 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
	// {
	//   "description": "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`.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/operations/{operationsId}:cancel",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.studies.operations.cancel",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource to be cancelled.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}:cancel",
	//   "response": {
	//     "$ref": "GoogleProtobufEmpty"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.studies.operations.delete":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsStudiesOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsStudiesOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
// non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
// returned 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
	// {
	//   "description": "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`.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/operations/{operationsId}",
	//   "httpMethod": "DELETE",
	//   "id": "aiplatform.projects.locations.studies.operations.delete",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource to be deleted.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleProtobufEmpty"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.studies.operations.get":

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 information.
func (c *ProjectsLocationsStudiesOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsStudiesOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsStudiesOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsStudiesOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "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.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/operations/{operationsId}",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.studies.operations.get",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.studies.operations.list":

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 information.
func (c *ProjectsLocationsStudiesOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsStudiesOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsStudiesOperationsListCall) Context(ctx context.Context) *ProjectsLocationsStudiesOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningListOperationsResponse or error will
// be non-nil. 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
	// {
	//   "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/operations",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.studies.operations.list",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "filter": {
	//       "description": "The standard list filter.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "name": {
	//       "description": "The name of the operation's parent resource.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "pageSize": {
	//       "description": "The standard list page size.",
	//       "format": "int32",
	//       "location": "query",
	//       "type": "integer"
	//     },
	//     "pageToken": {
	//       "description": "The standard list page token.",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}/operations",
	//   "response": {
	//     "$ref": "GoogleLongrunningListOperationsResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// Pages invokes f for each page of results.
// 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")) // reset paging to original point
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

// method id "aiplatform.projects.locations.studies.operations.wait":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsStudiesOperationsWaitCall) Context(ctx context.Context) *ProjectsLocationsStudiesOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "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.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/operations/{operationsId}:wait",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.studies.operations.wait",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource to wait on.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "timeout": {
	//       "description": "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.",
	//       "format": "google-duration",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}:wait",
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.studies.trials.addTrialMeasurement":

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/{tri
//     al}`.
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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsStudiesTrialsAddTrialMeasurementCall) Context(ctx context.Context) *ProjectsLocationsStudiesTrialsAddTrialMeasurementCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1addtrialmeasurementrequest)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of *GoogleCloudAiplatformV1Trial or error will be
// non-nil. 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
	// {
	//   "description": "Adds a measurement of the objective metrics to a Trial. This measurement is assumed to have been taken before the Trial is complete.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}:addTrialMeasurement",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.studies.trials.addTrialMeasurement",
	//   "parameterOrder": [
	//     "trialName"
	//   ],
	//   "parameters": {
	//     "trialName": {
	//       "description": "Required. The name of the trial to add measurement. Format: `projects/{project}/locations/{location}/studies/{study}/trials/{trial}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/trials/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+trialName}:addTrialMeasurement",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1AddTrialMeasurementRequest"
	//   },
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1Trial"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.studies.trials.checkTrialEarlyStoppingState":

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/{tri
//     al}`.
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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsStudiesTrialsCheckTrialEarlyStoppingStateCall) Context(ctx context.Context) *ProjectsLocationsStudiesTrialsCheckTrialEarlyStoppingStateCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1checktrialearlystoppingstaterequest)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "Checks whether a Trial should stop or not. Returns a long-running operation. When the operation is successful, it will contain a CheckTrialEarlyStoppingStateResponse.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}:checkTrialEarlyStoppingState",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.studies.trials.checkTrialEarlyStoppingState",
	//   "parameterOrder": [
	//     "trialName"
	//   ],
	//   "parameters": {
	//     "trialName": {
	//       "description": "Required. The Trial's name. Format: `projects/{project}/locations/{location}/studies/{study}/trials/{trial}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/trials/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+trialName}:checkTrialEarlyStoppingState",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1CheckTrialEarlyStoppingStateRequest"
	//   },
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.studies.trials.complete":

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/{tri
//     al}`.
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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsStudiesTrialsCompleteCall) Context(ctx context.Context) *ProjectsLocationsStudiesTrialsCompleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1completetrialrequest)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of *GoogleCloudAiplatformV1Trial or error will be
// non-nil. 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
	// {
	//   "description": "Marks a Trial as complete.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}:complete",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.studies.trials.complete",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "Required. The Trial's name. Format: `projects/{project}/locations/{location}/studies/{study}/trials/{trial}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/trials/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}:complete",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1CompleteTrialRequest"
	//   },
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1Trial"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.studies.trials.create":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsStudiesTrialsCreateCall) Context(ctx context.Context) *ProjectsLocationsStudiesTrialsCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1trial)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of *GoogleCloudAiplatformV1Trial or error will be
// non-nil. 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
	// {
	//   "description": "Adds a user provided Trial to a Study.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.studies.trials.create",
	//   "parameterOrder": [
	//     "parent"
	//   ],
	//   "parameters": {
	//     "parent": {
	//       "description": "Required. The resource name of the Study to create the Trial in. Format: `projects/{project}/locations/{location}/studies/{study}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+parent}/trials",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1Trial"
	//   },
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1Trial"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.studies.trials.delete":

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/{tri
//     al}`.
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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsStudiesTrialsDeleteCall) Context(ctx context.Context) *ProjectsLocationsStudiesTrialsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
// non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
// returned 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
	// {
	//   "description": "Deletes a Trial.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}",
	//   "httpMethod": "DELETE",
	//   "id": "aiplatform.projects.locations.studies.trials.delete",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "Required. The Trial's name. Format: `projects/{project}/locations/{location}/studies/{study}/trials/{trial}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/trials/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleProtobufEmpty"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.studies.trials.get":

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/{tri
//     al}`.
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 information.
func (c *ProjectsLocationsStudiesTrialsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsStudiesTrialsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsStudiesTrialsGetCall) Context(ctx context.Context) *ProjectsLocationsStudiesTrialsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleCloudAiplatformV1Trial or error will be
// non-nil. 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
	// {
	//   "description": "Gets a Trial.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.studies.trials.get",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "Required. The name of the Trial resource. Format: `projects/{project}/locations/{location}/studies/{study}/trials/{trial}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/trials/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1Trial"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.studies.trials.list":

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 information.
func (c *ProjectsLocationsStudiesTrialsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsStudiesTrialsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsStudiesTrialsListCall) Context(ctx context.Context) *ProjectsLocationsStudiesTrialsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleCloudAiplatformV1ListTrialsResponse or error
// will be non-nil. 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
	// {
	//   "description": "Lists the Trials associated with a Study.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.studies.trials.list",
	//   "parameterOrder": [
	//     "parent"
	//   ],
	//   "parameters": {
	//     "pageSize": {
	//       "description": "Optional. The number of Trials to retrieve per \"page\" of results. If unspecified, the service will pick an appropriate default.",
	//       "format": "int32",
	//       "location": "query",
	//       "type": "integer"
	//     },
	//     "pageToken": {
	//       "description": "Optional. A page token to request the next page of results. If unspecified, there are no subsequent pages.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "parent": {
	//       "description": "Required. The resource name of the Study to list the Trial from. Format: `projects/{project}/locations/{location}/studies/{study}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+parent}/trials",
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1ListTrialsResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// Pages invokes f for each page of results.
// 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")) // reset paging to original point
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

// method id "aiplatform.projects.locations.studies.trials.listOptimalTrials":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsStudiesTrialsListOptimalTrialsCall) Context(ctx context.Context) *ProjectsLocationsStudiesTrialsListOptimalTrialsCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1listoptimaltrialsrequest)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of *GoogleCloudAiplatformV1ListOptimalTrialsResponse or
// error will be non-nil. Any non-2xx status code is an error. Response
// headers are in either
// *GoogleCloudAiplatformV1ListOptimalTrialsResponse.ServerResponse.Heade
// r or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was
// returned.
func (c *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
	// {
	//   "description": "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",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials:listOptimalTrials",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.studies.trials.listOptimalTrials",
	//   "parameterOrder": [
	//     "parent"
	//   ],
	//   "parameters": {
	//     "parent": {
	//       "description": "Required. The name of the Study that the optimal Trial belongs to.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+parent}/trials:listOptimalTrials",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1ListOptimalTrialsRequest"
	//   },
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1ListOptimalTrialsResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.studies.trials.stop":

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/{tri
//     al}`.
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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsStudiesTrialsStopCall) Context(ctx context.Context) *ProjectsLocationsStudiesTrialsStopCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1stoptrialrequest)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of *GoogleCloudAiplatformV1Trial or error will be
// non-nil. 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
	// {
	//   "description": "Stops a Trial.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}:stop",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.studies.trials.stop",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "Required. The Trial's name. Format: `projects/{project}/locations/{location}/studies/{study}/trials/{trial}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/trials/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}:stop",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1StopTrialRequest"
	//   },
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1Trial"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.studies.trials.suggest":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsStudiesTrialsSuggestCall) Context(ctx context.Context) *ProjectsLocationsStudiesTrialsSuggestCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1suggesttrialsrequest)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "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.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials:suggest",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.studies.trials.suggest",
	//   "parameterOrder": [
	//     "parent"
	//   ],
	//   "parameters": {
	//     "parent": {
	//       "description": "Required. The project and location that the Study belongs to. Format: `projects/{project}/locations/{location}/studies/{study}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+parent}/trials:suggest",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1SuggestTrialsRequest"
	//   },
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.studies.trials.operations.cancel":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsStudiesTrialsOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsStudiesTrialsOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
// non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
// returned 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
	// {
	//   "description": "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`.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}/operations/{operationsId}:cancel",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.studies.trials.operations.cancel",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource to be cancelled.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/trials/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}:cancel",
	//   "response": {
	//     "$ref": "GoogleProtobufEmpty"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.studies.trials.operations.delete":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsStudiesTrialsOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsStudiesTrialsOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
// non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
// returned 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
	// {
	//   "description": "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`.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}/operations/{operationsId}",
	//   "httpMethod": "DELETE",
	//   "id": "aiplatform.projects.locations.studies.trials.operations.delete",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource to be deleted.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/trials/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleProtobufEmpty"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.studies.trials.operations.get":

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 information.
func (c *ProjectsLocationsStudiesTrialsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsStudiesTrialsOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsStudiesTrialsOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsStudiesTrialsOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "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.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}/operations/{operationsId}",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.studies.trials.operations.get",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/trials/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.studies.trials.operations.list":

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 information.
func (c *ProjectsLocationsStudiesTrialsOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsStudiesTrialsOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsStudiesTrialsOperationsListCall) Context(ctx context.Context) *ProjectsLocationsStudiesTrialsOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningListOperationsResponse or error will
// be non-nil. 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
	// {
	//   "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}/operations",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.studies.trials.operations.list",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "filter": {
	//       "description": "The standard list filter.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "name": {
	//       "description": "The name of the operation's parent resource.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/trials/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "pageSize": {
	//       "description": "The standard list page size.",
	//       "format": "int32",
	//       "location": "query",
	//       "type": "integer"
	//     },
	//     "pageToken": {
	//       "description": "The standard list page token.",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}/operations",
	//   "response": {
	//     "$ref": "GoogleLongrunningListOperationsResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// Pages invokes f for each page of results.
// 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")) // reset paging to original point
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

// method id "aiplatform.projects.locations.studies.trials.operations.wait":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsStudiesTrialsOperationsWaitCall) Context(ctx context.Context) *ProjectsLocationsStudiesTrialsOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "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.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}/operations/{operationsId}:wait",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.studies.trials.operations.wait",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource to wait on.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/studies/[^/]+/trials/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "timeout": {
	//       "description": "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.",
	//       "format": "google-duration",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}:wait",
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.tensorboards.create":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsTensorboardsCreateCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1tensorboard)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "Creates a Tensorboard.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.tensorboards.create",
	//   "parameterOrder": [
	//     "parent"
	//   ],
	//   "parameters": {
	//     "parent": {
	//       "description": "Required. The resource name of the Location to create the Tensorboard in. Format: `projects/{project}/locations/{location}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+parent}/tensorboards",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1Tensorboard"
	//   },
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.tensorboards.delete":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsTensorboardsDeleteCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "Deletes a Tensorboard.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}",
	//   "httpMethod": "DELETE",
	//   "id": "aiplatform.projects.locations.tensorboards.delete",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "Required. The name of the Tensorboard to be deleted. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.tensorboards.get":

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 information.
func (c *ProjectsLocationsTensorboardsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsTensorboardsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsTensorboardsGetCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleCloudAiplatformV1Tensorboard or error will be
// non-nil. 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
	// {
	//   "description": "Gets a Tensorboard.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.tensorboards.get",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "Required. The name of the Tensorboard resource. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1Tensorboard"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform",
	//     "https://www.googleapis.com/auth/cloud-platform.read-only"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.tensorboards.list":

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 information.
func (c *ProjectsLocationsTensorboardsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsTensorboardsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsTensorboardsListCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleCloudAiplatformV1ListTensorboardsResponse or
// error will be non-nil. 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
	// {
	//   "description": "Lists Tensorboards in a Location.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.tensorboards.list",
	//   "parameterOrder": [
	//     "parent"
	//   ],
	//   "parameters": {
	//     "filter": {
	//       "description": "Lists the Tensorboards that match the filter expression.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "orderBy": {
	//       "description": "Field to use to sort the list.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "pageSize": {
	//       "description": "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.",
	//       "format": "int32",
	//       "location": "query",
	//       "type": "integer"
	//     },
	//     "pageToken": {
	//       "description": "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.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "parent": {
	//       "description": "Required. The resource name of the Location to list Tensorboards. Format: `projects/{project}/locations/{location}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "readMask": {
	//       "description": "Mask specifying which fields to read.",
	//       "format": "google-fieldmask",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+parent}/tensorboards",
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1ListTensorboardsResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform",
	//     "https://www.googleapis.com/auth/cloud-platform.read-only"
	//   ]
	// }

}

// Pages invokes f for each page of results.
// 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")) // reset paging to original point
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

// method id "aiplatform.projects.locations.tensorboards.patch":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsTensorboardsPatchCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsPatchCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1tensorboard)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	c.urlParams_.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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "Updates a Tensorboard.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}",
	//   "httpMethod": "PATCH",
	//   "id": "aiplatform.projects.locations.tensorboards.patch",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "Output only. Name of the Tensorboard. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "updateMask": {
	//       "description": "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.",
	//       "format": "google-fieldmask",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1Tensorboard"
	//   },
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.tensorboards.readSize":

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 information.
func (c *ProjectsLocationsTensorboardsReadSizeCall) Fields(s ...googleapi.Field) *ProjectsLocationsTensorboardsReadSizeCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsTensorboardsReadSizeCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsReadSizeCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleCloudAiplatformV1ReadTensorboardSizeResponse or
// error will be non-nil. Any non-2xx status code is an error. Response
// headers are in either
// *GoogleCloudAiplatformV1ReadTensorboardSizeResponse.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 *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
	// {
	//   "description": "Returns the storage size for a given TensorBoard instance.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}:readSize",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.tensorboards.readSize",
	//   "parameterOrder": [
	//     "tensorboard"
	//   ],
	//   "parameters": {
	//     "tensorboard": {
	//       "description": "Required. The name of the Tensorboard resource. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+tensorboard}:readSize",
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1ReadTensorboardSizeResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.tensorboards.readUsage":

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 information.
func (c *ProjectsLocationsTensorboardsReadUsageCall) Fields(s ...googleapi.Field) *ProjectsLocationsTensorboardsReadUsageCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsTensorboardsReadUsageCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsReadUsageCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleCloudAiplatformV1ReadTensorboardUsageResponse
// or error will be non-nil. Any non-2xx status code is an error.
// Response headers are in either
// *GoogleCloudAiplatformV1ReadTensorboardUsageResponse.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 *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
	// {
	//   "description": "Returns a list of monthly active users for a given TensorBoard instance.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}:readUsage",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.tensorboards.readUsage",
	//   "parameterOrder": [
	//     "tensorboard"
	//   ],
	//   "parameters": {
	//     "tensorboard": {
	//       "description": "Required. The name of the Tensorboard resource. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+tensorboard}:readUsage",
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1ReadTensorboardUsageResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.tensorboards.experiments.create":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsTensorboardsExperimentsCreateCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsExperimentsCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1tensorboardexperiment)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of *GoogleCloudAiplatformV1TensorboardExperiment or error
// will be non-nil. 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
	// {
	//   "description": "Creates a TensorboardExperiment.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.tensorboards.experiments.create",
	//   "parameterOrder": [
	//     "parent"
	//   ],
	//   "parameters": {
	//     "parent": {
	//       "description": "Required. The resource name of the Tensorboard to create the TensorboardExperiment in. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "tensorboardExperimentId": {
	//       "description": "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-/`.",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+parent}/experiments",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1TensorboardExperiment"
	//   },
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1TensorboardExperiment"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.tensorboards.experiments.delete":

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}/
//     experiments/{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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsTensorboardsExperimentsDeleteCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsExperimentsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "Deletes a TensorboardExperiment.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}",
	//   "httpMethod": "DELETE",
	//   "id": "aiplatform.projects.locations.tensorboards.experiments.delete",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "Required. The name of the TensorboardExperiment to be deleted. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.tensorboards.experiments.get":

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}/
//     experiments/{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 information.
func (c *ProjectsLocationsTensorboardsExperimentsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsTensorboardsExperimentsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsTensorboardsExperimentsGetCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsExperimentsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleCloudAiplatformV1TensorboardExperiment or error
// will be non-nil. 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
	// {
	//   "description": "Gets a TensorboardExperiment.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.tensorboards.experiments.get",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "Required. The name of the TensorboardExperiment resource. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1TensorboardExperiment"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform",
	//     "https://www.googleapis.com/auth/cloud-platform.read-only"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.tensorboards.experiments.list":

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 information.
func (c *ProjectsLocationsTensorboardsExperimentsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsTensorboardsExperimentsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsTensorboardsExperimentsListCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsExperimentsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of
// *GoogleCloudAiplatformV1ListTensorboardExperimentsResponse or error
// will be non-nil. Any non-2xx status code is an error. Response
// headers are in either
// *GoogleCloudAiplatformV1ListTensorboardExperimentsResponse.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 *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
	// {
	//   "description": "Lists TensorboardExperiments in a Location.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.tensorboards.experiments.list",
	//   "parameterOrder": [
	//     "parent"
	//   ],
	//   "parameters": {
	//     "filter": {
	//       "description": "Lists the TensorboardExperiments that match the filter expression.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "orderBy": {
	//       "description": "Field to use to sort the list.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "pageSize": {
	//       "description": "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.",
	//       "format": "int32",
	//       "location": "query",
	//       "type": "integer"
	//     },
	//     "pageToken": {
	//       "description": "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.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "parent": {
	//       "description": "Required. The resource name of the Tensorboard to list TensorboardExperiments. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "readMask": {
	//       "description": "Mask specifying which fields to read.",
	//       "format": "google-fieldmask",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+parent}/experiments",
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1ListTensorboardExperimentsResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform",
	//     "https://www.googleapis.com/auth/cloud-platform.read-only"
	//   ]
	// }

}

// Pages invokes f for each page of results.
// 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")) // reset paging to original point
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

// method id "aiplatform.projects.locations.tensorboards.experiments.patch":

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}/
//     experiments/{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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsTensorboardsExperimentsPatchCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsExperimentsPatchCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1tensorboardexperiment)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	c.urlParams_.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.
// Exactly one of *GoogleCloudAiplatformV1TensorboardExperiment or error
// will be non-nil. 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
	// {
	//   "description": "Updates a TensorboardExperiment.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}",
	//   "httpMethod": "PATCH",
	//   "id": "aiplatform.projects.locations.tensorboards.experiments.patch",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "Output only. Name of the TensorboardExperiment. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "updateMask": {
	//       "description": "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.",
	//       "format": "google-fieldmask",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1TensorboardExperiment"
	//   },
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1TensorboardExperiment"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.tensorboards.experiments.write":

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}/
//     experiments/{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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsTensorboardsExperimentsWriteCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsExperimentsWriteCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1writetensorboardexperimentdatarequest)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of
// *GoogleCloudAiplatformV1WriteTensorboardExperimentDataResponse or
// error will be non-nil. Any non-2xx status code is an error. Response
// headers are in either
// *GoogleCloudAiplatformV1WriteTensorboardExperimentDataResponse.ServerR
// esponse.Header or (if a response was returned 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
	// {
	//   "description": "Write time series data points of multiple TensorboardTimeSeries in multiple TensorboardRun's. If any data fail to be ingested, an error is returned.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}:write",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.tensorboards.experiments.write",
	//   "parameterOrder": [
	//     "tensorboardExperiment"
	//   ],
	//   "parameters": {
	//     "tensorboardExperiment": {
	//       "description": "Required. The resource name of the TensorboardExperiment to write data to. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+tensorboardExperiment}:write",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1WriteTensorboardExperimentDataRequest"
	//   },
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1WriteTensorboardExperimentDataResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.tensorboards.experiments.operations.cancel":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsTensorboardsExperimentsOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsExperimentsOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
// non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
// returned 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
	// {
	//   "description": "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`.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/operations/{operationsId}:cancel",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.tensorboards.experiments.operations.cancel",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource to be cancelled.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}:cancel",
	//   "response": {
	//     "$ref": "GoogleProtobufEmpty"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.tensorboards.experiments.operations.delete":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsTensorboardsExperimentsOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsExperimentsOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
// non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
// returned 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
	// {
	//   "description": "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`.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/operations/{operationsId}",
	//   "httpMethod": "DELETE",
	//   "id": "aiplatform.projects.locations.tensorboards.experiments.operations.delete",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource to be deleted.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleProtobufEmpty"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.tensorboards.experiments.operations.get":

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 information.
func (c *ProjectsLocationsTensorboardsExperimentsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsTensorboardsExperimentsOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsTensorboardsExperimentsOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsExperimentsOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "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.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/operations/{operationsId}",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.tensorboards.experiments.operations.get",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.tensorboards.experiments.operations.list":

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 information.
func (c *ProjectsLocationsTensorboardsExperimentsOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsTensorboardsExperimentsOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsTensorboardsExperimentsOperationsListCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsExperimentsOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningListOperationsResponse or error will
// be non-nil. 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
	// {
	//   "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/operations",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.tensorboards.experiments.operations.list",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "filter": {
	//       "description": "The standard list filter.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "name": {
	//       "description": "The name of the operation's parent resource.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "pageSize": {
	//       "description": "The standard list page size.",
	//       "format": "int32",
	//       "location": "query",
	//       "type": "integer"
	//     },
	//     "pageToken": {
	//       "description": "The standard list page token.",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}/operations",
	//   "response": {
	//     "$ref": "GoogleLongrunningListOperationsResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// Pages invokes f for each page of results.
// 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")) // reset paging to original point
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

// method id "aiplatform.projects.locations.tensorboards.experiments.operations.wait":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsTensorboardsExperimentsOperationsWaitCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsExperimentsOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "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.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/operations/{operationsId}:wait",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.tensorboards.experiments.operations.wait",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource to wait on.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "timeout": {
	//       "description": "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.",
	//       "format": "google-duration",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}:wait",
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.tensorboards.experiments.runs.batchCreate":

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}/
//     experiments/{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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsTensorboardsExperimentsRunsBatchCreateCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsExperimentsRunsBatchCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1batchcreatetensorboardrunsrequest)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of
// *GoogleCloudAiplatformV1BatchCreateTensorboardRunsResponse or error
// will be non-nil. Any non-2xx status code is an error. Response
// headers are in either
// *GoogleCloudAiplatformV1BatchCreateTensorboardRunsResponse.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 *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
	// {
	//   "description": "Batch create TensorboardRuns.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs:batchCreate",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.tensorboards.experiments.runs.batchCreate",
	//   "parameterOrder": [
	//     "parent"
	//   ],
	//   "parameters": {
	//     "parent": {
	//       "description": "Required. The resource name of the TensorboardExperiment to create the TensorboardRuns in. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}` The parent field in the CreateTensorboardRunRequest messages must match this field.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+parent}/runs:batchCreate",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1BatchCreateTensorboardRunsRequest"
	//   },
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1BatchCreateTensorboardRunsResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.tensorboards.experiments.runs.create":

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}/
//     experiments/{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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsTensorboardsExperimentsRunsCreateCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsExperimentsRunsCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1tensorboardrun)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of *GoogleCloudAiplatformV1TensorboardRun or error will
// be non-nil. 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
	// {
	//   "description": "Creates a TensorboardRun.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.tensorboards.experiments.runs.create",
	//   "parameterOrder": [
	//     "parent"
	//   ],
	//   "parameters": {
	//     "parent": {
	//       "description": "Required. The resource name of the TensorboardExperiment to create the TensorboardRun in. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "tensorboardRunId": {
	//       "description": "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-/`.",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+parent}/runs",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1TensorboardRun"
	//   },
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1TensorboardRun"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.tensorboards.experiments.runs.delete":

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}/
//     experiments/{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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsTensorboardsExperimentsRunsDeleteCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsExperimentsRunsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "Deletes a TensorboardRun.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}",
	//   "httpMethod": "DELETE",
	//   "id": "aiplatform.projects.locations.tensorboards.experiments.runs.delete",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "Required. The name of the TensorboardRun to be deleted. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.tensorboards.experiments.runs.get":

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}/
//     experiments/{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 information.
func (c *ProjectsLocationsTensorboardsExperimentsRunsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsTensorboardsExperimentsRunsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsTensorboardsExperimentsRunsGetCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsExperimentsRunsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleCloudAiplatformV1TensorboardRun or error will
// be non-nil. 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
	// {
	//   "description": "Gets a TensorboardRun.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.tensorboards.experiments.runs.get",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "Required. The name of the TensorboardRun resource. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1TensorboardRun"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform",
	//     "https://www.googleapis.com/auth/cloud-platform.read-only"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.tensorboards.experiments.runs.list":

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}/
//     experiments/{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 information.
func (c *ProjectsLocationsTensorboardsExperimentsRunsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsTensorboardsExperimentsRunsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsTensorboardsExperimentsRunsListCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsExperimentsRunsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleCloudAiplatformV1ListTensorboardRunsResponse or
// error will be non-nil. Any non-2xx status code is an error. Response
// headers are in either
// *GoogleCloudAiplatformV1ListTensorboardRunsResponse.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 *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
	// {
	//   "description": "Lists TensorboardRuns in a Location.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.tensorboards.experiments.runs.list",
	//   "parameterOrder": [
	//     "parent"
	//   ],
	//   "parameters": {
	//     "filter": {
	//       "description": "Lists the TensorboardRuns that match the filter expression.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "orderBy": {
	//       "description": "Field to use to sort the list.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "pageSize": {
	//       "description": "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.",
	//       "format": "int32",
	//       "location": "query",
	//       "type": "integer"
	//     },
	//     "pageToken": {
	//       "description": "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.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "parent": {
	//       "description": "Required. The resource name of the TensorboardExperiment to list TensorboardRuns. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "readMask": {
	//       "description": "Mask specifying which fields to read.",
	//       "format": "google-fieldmask",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+parent}/runs",
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1ListTensorboardRunsResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform",
	//     "https://www.googleapis.com/auth/cloud-platform.read-only"
	//   ]
	// }

}

// Pages invokes f for each page of results.
// 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")) // reset paging to original point
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

// method id "aiplatform.projects.locations.tensorboards.experiments.runs.patch":

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}/
//     experiments/{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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsTensorboardsExperimentsRunsPatchCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsExperimentsRunsPatchCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1tensorboardrun)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	c.urlParams_.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.
// Exactly one of *GoogleCloudAiplatformV1TensorboardRun or error will
// be non-nil. 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
	// {
	//   "description": "Updates a TensorboardRun.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}",
	//   "httpMethod": "PATCH",
	//   "id": "aiplatform.projects.locations.tensorboards.experiments.runs.patch",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "Output only. Name of the TensorboardRun. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "updateMask": {
	//       "description": "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.",
	//       "format": "google-fieldmask",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1TensorboardRun"
	//   },
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1TensorboardRun"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.tensorboards.experiments.runs.write":

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}/
//     experiments/{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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsTensorboardsExperimentsRunsWriteCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsExperimentsRunsWriteCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1writetensorboardrundatarequest)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of
// *GoogleCloudAiplatformV1WriteTensorboardRunDataResponse or error will
// be non-nil. 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
	// {
	//   "description": "Write time series data points into multiple TensorboardTimeSeries under a TensorboardRun. If any data fail to be ingested, an error is returned.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}:write",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.tensorboards.experiments.runs.write",
	//   "parameterOrder": [
	//     "tensorboardRun"
	//   ],
	//   "parameters": {
	//     "tensorboardRun": {
	//       "description": "Required. The resource name of the TensorboardRun to write data to. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+tensorboardRun}:write",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1WriteTensorboardRunDataRequest"
	//   },
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1WriteTensorboardRunDataResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.tensorboards.experiments.runs.operations.cancel":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsTensorboardsExperimentsRunsOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsExperimentsRunsOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
// non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
// returned 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
	// {
	//   "description": "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`.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/operations/{operationsId}:cancel",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.tensorboards.experiments.runs.operations.cancel",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource to be cancelled.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}:cancel",
	//   "response": {
	//     "$ref": "GoogleProtobufEmpty"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.tensorboards.experiments.runs.operations.delete":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsTensorboardsExperimentsRunsOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsExperimentsRunsOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
// non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
// returned 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
	// {
	//   "description": "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`.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/operations/{operationsId}",
	//   "httpMethod": "DELETE",
	//   "id": "aiplatform.projects.locations.tensorboards.experiments.runs.operations.delete",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource to be deleted.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleProtobufEmpty"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.tensorboards.experiments.runs.operations.get":

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 information.
func (c *ProjectsLocationsTensorboardsExperimentsRunsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsTensorboardsExperimentsRunsOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsTensorboardsExperimentsRunsOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsExperimentsRunsOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "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.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/operations/{operationsId}",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.tensorboards.experiments.runs.operations.get",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.tensorboards.experiments.runs.operations.list":

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 information.
func (c *ProjectsLocationsTensorboardsExperimentsRunsOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsTensorboardsExperimentsRunsOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsTensorboardsExperimentsRunsOperationsListCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsExperimentsRunsOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningListOperationsResponse or error will
// be non-nil. 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
	// {
	//   "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/operations",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.tensorboards.experiments.runs.operations.list",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "filter": {
	//       "description": "The standard list filter.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "name": {
	//       "description": "The name of the operation's parent resource.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "pageSize": {
	//       "description": "The standard list page size.",
	//       "format": "int32",
	//       "location": "query",
	//       "type": "integer"
	//     },
	//     "pageToken": {
	//       "description": "The standard list page token.",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}/operations",
	//   "response": {
	//     "$ref": "GoogleLongrunningListOperationsResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// Pages invokes f for each page of results.
// 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")) // reset paging to original point
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

// method id "aiplatform.projects.locations.tensorboards.experiments.runs.operations.wait":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsTensorboardsExperimentsRunsOperationsWaitCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsExperimentsRunsOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "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.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/operations/{operationsId}:wait",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.tensorboards.experiments.runs.operations.wait",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource to wait on.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "timeout": {
	//       "description": "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.",
	//       "format": "google-duration",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}:wait",
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.batchCreate":

type ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesBatchCreateCall struct {
	s                                                              *Service
	parent                                                         string
	runsId                                                         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}/
//     experiments/{experiment}` The TensorboardRuns referenced by the
//     parent fields in the CreateTensorboardTimeSeriesRequest messages
//     must be sub resources of this TensorboardExperiment.
//   - runsId: .
func (r *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesService) BatchCreate(parent string, runsId string, googlecloudaiplatformv1batchcreatetensorboardtimeseriesrequest *GoogleCloudAiplatformV1BatchCreateTensorboardTimeSeriesRequest) *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesBatchCreateCall {
	c := &ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesBatchCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.parent = parent
	c.runsId = runsId
	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 information.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesBatchCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesBatchCreateCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesBatchCreateCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesBatchCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP headers to the request.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesBatchCreateCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesBatchCreateCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1batchcreatetensorboardtimeseriesrequest)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	c.urlParams_.Set("alt", alt)
	c.urlParams_.Set("prettyPrint", "false")
	urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/runs/{runsId}/timeSeries: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,
		"runsId": c.runsId,
	})
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.batchCreate" call.
// Exactly one of
// *GoogleCloudAiplatformV1BatchCreateTensorboardTimeSeriesResponse or
// error will be non-nil. Any non-2xx status code is an error. Response
// headers are in either
// *GoogleCloudAiplatformV1BatchCreateTensorboardTimeSeriesResponse.Serve
// rResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesBatchCreateCall) 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
	// {
	//   "description": "Batch create TensorboardTimeSeries that belong to a TensorboardExperiment.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries:batchCreate",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.batchCreate",
	//   "parameterOrder": [
	//     "parent",
	//     "runsId"
	//   ],
	//   "parameters": {
	//     "parent": {
	//       "description": "Required. The resource name of the TensorboardExperiment to create the TensorboardTimeSeries in. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}` The TensorboardRuns referenced by the parent fields in the CreateTensorboardTimeSeriesRequest messages must be sub resources of this TensorboardExperiment.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "runsId": {
	//       "location": "path",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+parent}/runs/{runsId}/timeSeries:batchCreate",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1BatchCreateTensorboardTimeSeriesRequest"
	//   },
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1BatchCreateTensorboardTimeSeriesResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.batchRead":

type ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesBatchReadCall struct {
	s             *Service
	tensorboard   string
	experimentsId string
	runsId        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.
//
//   - experimentsId: .
//   - runsId: .
//   - 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 *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesService) BatchRead(tensorboard string, experimentsId string, runsId string) *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesBatchReadCall {
	c := &ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesBatchReadCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.tensorboard = tensorboard
	c.experimentsId = experimentsId
	c.runsId = runsId
	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}/ex
// periments/{experiment}/runs/{run}/timeSeries/{time_series}`
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesBatchReadCall) TimeSeries(timeSeries ...string) *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesBatchReadCall {
	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 information.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesBatchReadCall) Fields(s ...googleapi.Field) *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesBatchReadCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesBatchReadCall) IfNoneMatch(entityTag string) *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesBatchReadCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesBatchReadCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesBatchReadCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP headers to the request.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesBatchReadCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesBatchReadCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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}/experiments/{experimentsId}/runs/{runsId}/timeSeries: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,
		"experimentsId": c.experimentsId,
		"runsId":        c.runsId,
	})
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.batchRead" call.
// Exactly one of
// *GoogleCloudAiplatformV1BatchReadTensorboardTimeSeriesDataResponse or
// error will be non-nil. Any non-2xx status code is an error. Response
// headers are in either
// *GoogleCloudAiplatformV1BatchReadTensorboardTimeSeriesDataResponse.Ser
// verResponse.Header or (if a response was returned at all) in
// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
// whether the returned error was because http.StatusNotModified was
// returned.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesBatchReadCall) 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
	// {
	//   "description": "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.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries:batchRead",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.batchRead",
	//   "parameterOrder": [
	//     "tensorboard",
	//     "experimentsId",
	//     "runsId"
	//   ],
	//   "parameters": {
	//     "experimentsId": {
	//       "location": "path",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "runsId": {
	//       "location": "path",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "tensorboard": {
	//       "description": "Required. The resource name of the Tensorboard containing TensorboardTimeSeries to read data from. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}`. The TensorboardTimeSeries referenced by time_series must be sub resources of this Tensorboard.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "timeSeries": {
	//       "description": "Required. The resource names of the TensorboardTimeSeries to read data from. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}/timeSeries/{time_series}`",
	//       "location": "query",
	//       "repeated": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+tensorboard}/experiments/{experimentsId}/runs/{runsId}/timeSeries:batchRead",
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1BatchReadTensorboardTimeSeriesDataResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.create":

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}/
//     experiments/{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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesCreateCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1tensorboardtimeseries)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of *GoogleCloudAiplatformV1TensorboardTimeSeries or error
// will be non-nil. 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
	// {
	//   "description": "Creates a TensorboardTimeSeries.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.create",
	//   "parameterOrder": [
	//     "parent"
	//   ],
	//   "parameters": {
	//     "parent": {
	//       "description": "Required. The resource name of the TensorboardRun to create the TensorboardTimeSeries in. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "tensorboardTimeSeriesId": {
	//       "description": "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}\"",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+parent}/timeSeries",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1TensorboardTimeSeries"
	//   },
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1TensorboardTimeSeries"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.delete":

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}/
//     experiments/{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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesDeleteCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "Deletes a TensorboardTimeSeries.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries/{timeSeriesId}",
	//   "httpMethod": "DELETE",
	//   "id": "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.delete",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "Required. The name of the TensorboardTimeSeries to be deleted. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}/timeSeries/{time_series}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/timeSeries/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.exportTensorboardTimeSeries":

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}/
//     experiments/{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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesExportTensorboardTimeSeriesCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesExportTensorboardTimeSeriesCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1exporttensorboardtimeseriesdatarequest)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of
// *GoogleCloudAiplatformV1ExportTensorboardTimeSeriesDataResponse or
// error will be non-nil. Any non-2xx status code is an error. Response
// headers are in either
// *GoogleCloudAiplatformV1ExportTensorboardTimeSeriesDataResponse.Server
// Response.Header or (if a response was returned 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
	// {
	//   "description": "Exports a TensorboardTimeSeries' data. Data is returned in paginated responses.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries/{timeSeriesId}:exportTensorboardTimeSeries",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.exportTensorboardTimeSeries",
	//   "parameterOrder": [
	//     "tensorboardTimeSeries"
	//   ],
	//   "parameters": {
	//     "tensorboardTimeSeries": {
	//       "description": "Required. The resource name of the TensorboardTimeSeries to export data from. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}/timeSeries/{time_series}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/timeSeries/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+tensorboardTimeSeries}:exportTensorboardTimeSeries",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1ExportTensorboardTimeSeriesDataRequest"
	//   },
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1ExportTensorboardTimeSeriesDataResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// Pages invokes f for each page of results.
// 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) // reset paging to original point
	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
	}
}

// method id "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.get":

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}/
//     experiments/{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 information.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesGetCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleCloudAiplatformV1TensorboardTimeSeries or error
// will be non-nil. 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
	// {
	//   "description": "Gets a TensorboardTimeSeries.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries/{timeSeriesId}",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.get",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "Required. The name of the TensorboardTimeSeries resource. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}/timeSeries/{time_series}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/timeSeries/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1TensorboardTimeSeries"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform",
	//     "https://www.googleapis.com/auth/cloud-platform.read-only"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.list":

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}/
//     experiments/{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 information.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesListCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesListCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of
// *GoogleCloudAiplatformV1ListTensorboardTimeSeriesResponse or error
// will be non-nil. Any non-2xx status code is an error. Response
// headers are in either
// *GoogleCloudAiplatformV1ListTensorboardTimeSeriesResponse.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 *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
	// {
	//   "description": "Lists TensorboardTimeSeries in a Location.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.list",
	//   "parameterOrder": [
	//     "parent"
	//   ],
	//   "parameters": {
	//     "filter": {
	//       "description": "Lists the TensorboardTimeSeries that match the filter expression.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "orderBy": {
	//       "description": "Field to use to sort the list.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "pageSize": {
	//       "description": "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.",
	//       "format": "int32",
	//       "location": "query",
	//       "type": "integer"
	//     },
	//     "pageToken": {
	//       "description": "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.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "parent": {
	//       "description": "Required. The resource name of the TensorboardRun to list TensorboardTimeSeries. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "readMask": {
	//       "description": "Mask specifying which fields to read.",
	//       "format": "google-fieldmask",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+parent}/timeSeries",
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1ListTensorboardTimeSeriesResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform",
	//     "https://www.googleapis.com/auth/cloud-platform.read-only"
	//   ]
	// }

}

// Pages invokes f for each page of results.
// 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")) // reset paging to original point
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

// method id "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.patch":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesPatchCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesPatchCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1tensorboardtimeseries)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	c.urlParams_.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.
// Exactly one of *GoogleCloudAiplatformV1TensorboardTimeSeries or error
// will be non-nil. 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
	// {
	//   "description": "Updates a TensorboardTimeSeries.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries/{timeSeriesId}",
	//   "httpMethod": "PATCH",
	//   "id": "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.patch",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "Output only. Name of the TensorboardTimeSeries.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/timeSeries/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "updateMask": {
	//       "description": "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.",
	//       "format": "google-fieldmask",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1TensorboardTimeSeries"
	//   },
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1TensorboardTimeSeries"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.read":

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}/
//     experiments/{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 information.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesReadCall) Fields(s ...googleapi.Field) *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesReadCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesReadCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesReadCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of
// *GoogleCloudAiplatformV1ReadTensorboardTimeSeriesDataResponse or
// error will be non-nil. Any non-2xx status code is an error. Response
// headers are in either
// *GoogleCloudAiplatformV1ReadTensorboardTimeSeriesDataResponse.ServerRe
// sponse.Header or (if a response was returned 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
	// {
	//   "description": "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.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries/{timeSeriesId}:read",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.read",
	//   "parameterOrder": [
	//     "tensorboardTimeSeries"
	//   ],
	//   "parameters": {
	//     "filter": {
	//       "description": "Reads the TensorboardTimeSeries' data that match the filter expression.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "maxDataPoints": {
	//       "description": "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.",
	//       "format": "int32",
	//       "location": "query",
	//       "type": "integer"
	//     },
	//     "tensorboardTimeSeries": {
	//       "description": "Required. The resource name of the TensorboardTimeSeries to read data from. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}/timeSeries/{time_series}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/timeSeries/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+tensorboardTimeSeries}:read",
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1ReadTensorboardTimeSeriesDataResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform",
	//     "https://www.googleapis.com/auth/cloud-platform.read-only"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.readBlobData":

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}/
//     experiments/{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 information.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesReadBlobDataCall) Fields(s ...googleapi.Field) *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesReadBlobDataCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesReadBlobDataCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesReadBlobDataCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of
// *GoogleCloudAiplatformV1ReadTensorboardBlobDataResponse or error will
// be non-nil. 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
	// {
	//   "description": "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.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries/{timeSeriesId}:readBlobData",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.readBlobData",
	//   "parameterOrder": [
	//     "timeSeries"
	//   ],
	//   "parameters": {
	//     "blobIds": {
	//       "description": "IDs of the blobs to read.",
	//       "location": "query",
	//       "repeated": true,
	//       "type": "string"
	//     },
	//     "timeSeries": {
	//       "description": "Required. The resource name of the TensorboardTimeSeries to list Blobs. Format: `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}/timeSeries/{time_series}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/timeSeries/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+timeSeries}:readBlobData",
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1ReadTensorboardBlobDataResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform",
	//     "https://www.googleapis.com/auth/cloud-platform.read-only"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.operations.cancel":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
// non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
// returned 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
	// {
	//   "description": "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`.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries/{timeSeriesId}/operations/{operationsId}:cancel",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.operations.cancel",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource to be cancelled.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/timeSeries/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}:cancel",
	//   "response": {
	//     "$ref": "GoogleProtobufEmpty"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.operations.delete":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
// non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
// returned 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
	// {
	//   "description": "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`.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries/{timeSeriesId}/operations/{operationsId}",
	//   "httpMethod": "DELETE",
	//   "id": "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.operations.delete",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource to be deleted.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/timeSeries/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleProtobufEmpty"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.operations.get":

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 information.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "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.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries/{timeSeriesId}/operations/{operationsId}",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.operations.get",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/timeSeries/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.operations.list":

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 information.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesOperationsListCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningListOperationsResponse or error will
// be non-nil. 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
	// {
	//   "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries/{timeSeriesId}/operations",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.operations.list",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "filter": {
	//       "description": "The standard list filter.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "name": {
	//       "description": "The name of the operation's parent resource.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/timeSeries/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "pageSize": {
	//       "description": "The standard list page size.",
	//       "format": "int32",
	//       "location": "query",
	//       "type": "integer"
	//     },
	//     "pageToken": {
	//       "description": "The standard list page token.",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}/operations",
	//   "response": {
	//     "$ref": "GoogleLongrunningListOperationsResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// Pages invokes f for each page of results.
// 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")) // reset paging to original point
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

// method id "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.operations.wait":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesOperationsWaitCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsExperimentsRunsTimeSeriesOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "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.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries/{timeSeriesId}/operations/{operationsId}:wait",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.operations.wait",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource to wait on.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/timeSeries/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "timeout": {
	//       "description": "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.",
	//       "format": "google-duration",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}:wait",
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.tensorboards.operations.cancel":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsTensorboardsOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
// non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
// returned 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
	// {
	//   "description": "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`.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/operations/{operationsId}:cancel",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.tensorboards.operations.cancel",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource to be cancelled.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}:cancel",
	//   "response": {
	//     "$ref": "GoogleProtobufEmpty"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.tensorboards.operations.delete":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsTensorboardsOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
// non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
// returned 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
	// {
	//   "description": "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`.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/operations/{operationsId}",
	//   "httpMethod": "DELETE",
	//   "id": "aiplatform.projects.locations.tensorboards.operations.delete",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource to be deleted.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleProtobufEmpty"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.tensorboards.operations.get":

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 information.
func (c *ProjectsLocationsTensorboardsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsTensorboardsOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsTensorboardsOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "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.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/operations/{operationsId}",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.tensorboards.operations.get",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.tensorboards.operations.list":

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 information.
func (c *ProjectsLocationsTensorboardsOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsTensorboardsOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsTensorboardsOperationsListCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningListOperationsResponse or error will
// be non-nil. 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
	// {
	//   "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/operations",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.tensorboards.operations.list",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "filter": {
	//       "description": "The standard list filter.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "name": {
	//       "description": "The name of the operation's parent resource.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "pageSize": {
	//       "description": "The standard list page size.",
	//       "format": "int32",
	//       "location": "query",
	//       "type": "integer"
	//     },
	//     "pageToken": {
	//       "description": "The standard list page token.",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}/operations",
	//   "response": {
	//     "$ref": "GoogleLongrunningListOperationsResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// Pages invokes f for each page of results.
// 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")) // reset paging to original point
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

// method id "aiplatform.projects.locations.tensorboards.operations.wait":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsTensorboardsOperationsWaitCall) Context(ctx context.Context) *ProjectsLocationsTensorboardsOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "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.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/operations/{operationsId}:wait",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.tensorboards.operations.wait",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource to wait on.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/tensorboards/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "timeout": {
	//       "description": "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.",
	//       "format": "google-duration",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}:wait",
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.trainingPipelines.cancel":

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
//     _pipeline}`.
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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsTrainingPipelinesCancelCall) Context(ctx context.Context) *ProjectsLocationsTrainingPipelinesCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1canceltrainingpipelinerequest)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
// non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
// returned 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
	// {
	//   "description": "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`.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/trainingPipelines/{trainingPipelinesId}:cancel",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.trainingPipelines.cancel",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "Required. The name of the TrainingPipeline to cancel. Format: `projects/{project}/locations/{location}/trainingPipelines/{training_pipeline}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/trainingPipelines/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}:cancel",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1CancelTrainingPipelineRequest"
	//   },
	//   "response": {
	//     "$ref": "GoogleProtobufEmpty"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.trainingPipelines.create":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsTrainingPipelinesCreateCall) Context(ctx context.Context) *ProjectsLocationsTrainingPipelinesCreateCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1trainingpipeline)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	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.
// Exactly one of *GoogleCloudAiplatformV1TrainingPipeline or error will
// be non-nil. 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
	// {
	//   "description": "Creates a TrainingPipeline. A created TrainingPipeline right away will be attempted to be run.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/trainingPipelines",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.trainingPipelines.create",
	//   "parameterOrder": [
	//     "parent"
	//   ],
	//   "parameters": {
	//     "parent": {
	//       "description": "Required. The resource name of the Location to create the TrainingPipeline in. Format: `projects/{project}/locations/{location}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+parent}/trainingPipelines",
	//   "request": {
	//     "$ref": "GoogleCloudAiplatformV1TrainingPipeline"
	//   },
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1TrainingPipeline"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.trainingPipelines.delete":

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
//     _pipeline}`.
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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsTrainingPipelinesDeleteCall) Context(ctx context.Context) *ProjectsLocationsTrainingPipelinesDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "Deletes a TrainingPipeline.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/trainingPipelines/{trainingPipelinesId}",
	//   "httpMethod": "DELETE",
	//   "id": "aiplatform.projects.locations.trainingPipelines.delete",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "Required. The name of the TrainingPipeline resource to be deleted. Format: `projects/{project}/locations/{location}/trainingPipelines/{training_pipeline}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/trainingPipelines/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.trainingPipelines.get":

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
//     _pipeline}`.
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 information.
func (c *ProjectsLocationsTrainingPipelinesGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsTrainingPipelinesGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsTrainingPipelinesGetCall) Context(ctx context.Context) *ProjectsLocationsTrainingPipelinesGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleCloudAiplatformV1TrainingPipeline or error will
// be non-nil. 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
	// {
	//   "description": "Gets a TrainingPipeline.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/trainingPipelines/{trainingPipelinesId}",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.trainingPipelines.get",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "Required. The name of the TrainingPipeline resource. Format: `projects/{project}/locations/{location}/trainingPipelines/{training_pipeline}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/trainingPipelines/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1TrainingPipeline"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.trainingPipelines.list":

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 information.
func (c *ProjectsLocationsTrainingPipelinesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsTrainingPipelinesListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsTrainingPipelinesListCall) Context(ctx context.Context) *ProjectsLocationsTrainingPipelinesListCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleCloudAiplatformV1ListTrainingPipelinesResponse
// or error will be non-nil. Any non-2xx status code is an error.
// Response headers are in either
// *GoogleCloudAiplatformV1ListTrainingPipelinesResponse.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 *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
	// {
	//   "description": "Lists TrainingPipelines in a Location.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/trainingPipelines",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.trainingPipelines.list",
	//   "parameterOrder": [
	//     "parent"
	//   ],
	//   "parameters": {
	//     "filter": {
	//       "description": "The standard list filter. Supported fields: * `display_name` supports `=`, `!=` comparisons, and `:` wildcard. * `state` supports `=`, `!=` comparisons. * `training_task_definition` `=`, `!=` comparisons, and `:` wildcard. * `create_time` supports `=`, `!=`,`\u003c`, `\u003c=`,`\u003e`, `\u003e=` 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\u003e\"2021-05-18T00:00:00Z\"` * `training_task_definition:\"*automl_text_classification*\"`",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "pageSize": {
	//       "description": "The standard list page size.",
	//       "format": "int32",
	//       "location": "query",
	//       "type": "integer"
	//     },
	//     "pageToken": {
	//       "description": "The standard list page token. Typically obtained via ListTrainingPipelinesResponse.next_page_token of the previous PipelineService.ListTrainingPipelines call.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "parent": {
	//       "description": "Required. The resource name of the Location to list the TrainingPipelines from. Format: `projects/{project}/locations/{location}`",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "readMask": {
	//       "description": "Mask specifying which fields to read.",
	//       "format": "google-fieldmask",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+parent}/trainingPipelines",
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1ListTrainingPipelinesResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// Pages invokes f for each page of results.
// 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")) // reset paging to original point
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

// method id "aiplatform.projects.locations.trainingPipelines.operations.cancel":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsTrainingPipelinesOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsTrainingPipelinesOperationsCancelCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
// non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
// returned 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
	// {
	//   "description": "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`.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/trainingPipelines/{trainingPipelinesId}/operations/{operationsId}:cancel",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.trainingPipelines.operations.cancel",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource to be cancelled.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/trainingPipelines/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}:cancel",
	//   "response": {
	//     "$ref": "GoogleProtobufEmpty"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.trainingPipelines.operations.delete":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsTrainingPipelinesOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsTrainingPipelinesOperationsDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any
// non-2xx status code is an error. Response headers are in either
// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was
// returned 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
	// {
	//   "description": "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`.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/trainingPipelines/{trainingPipelinesId}/operations/{operationsId}",
	//   "httpMethod": "DELETE",
	//   "id": "aiplatform.projects.locations.trainingPipelines.operations.delete",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource to be deleted.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/trainingPipelines/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleProtobufEmpty"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.trainingPipelines.operations.get":

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 information.
func (c *ProjectsLocationsTrainingPipelinesOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsTrainingPipelinesOperationsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsTrainingPipelinesOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsTrainingPipelinesOperationsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "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.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/trainingPipelines/{trainingPipelinesId}/operations/{operationsId}",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.trainingPipelines.operations.get",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/trainingPipelines/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.projects.locations.trainingPipelines.operations.list":

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 information.
func (c *ProjectsLocationsTrainingPipelinesOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsTrainingPipelinesOperationsListCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsTrainingPipelinesOperationsListCall) Context(ctx context.Context) *ProjectsLocationsTrainingPipelinesOperationsListCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningListOperationsResponse or error will
// be non-nil. 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
	// {
	//   "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/trainingPipelines/{trainingPipelinesId}/operations",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.projects.locations.trainingPipelines.operations.list",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "filter": {
	//       "description": "The standard list filter.",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "name": {
	//       "description": "The name of the operation's parent resource.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/trainingPipelines/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "pageSize": {
	//       "description": "The standard list page size.",
	//       "format": "int32",
	//       "location": "query",
	//       "type": "integer"
	//     },
	//     "pageToken": {
	//       "description": "The standard list page token.",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}/operations",
	//   "response": {
	//     "$ref": "GoogleLongrunningListOperationsResponse"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// Pages invokes f for each page of results.
// 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")) // reset paging to original point
	for {
		x, err := c.Do()
		if err != nil {
			return err
		}
		if err := f(x); err != nil {
			return err
		}
		if x.NextPageToken == "" {
			return nil
		}
		c.PageToken(x.NextPageToken)
	}
}

// method id "aiplatform.projects.locations.trainingPipelines.operations.wait":

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 information.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsLocationsTrainingPipelinesOperationsWaitCall) Context(ctx context.Context) *ProjectsLocationsTrainingPipelinesOperationsWaitCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned 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
	// {
	//   "description": "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.",
	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/trainingPipelines/{trainingPipelinesId}/operations/{operationsId}:wait",
	//   "httpMethod": "POST",
	//   "id": "aiplatform.projects.locations.trainingPipelines.operations.wait",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "name": {
	//       "description": "The name of the operation resource to wait on.",
	//       "location": "path",
	//       "pattern": "^projects/[^/]+/locations/[^/]+/trainingPipelines/[^/]+/operations/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "timeout": {
	//       "description": "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.",
	//       "format": "google-duration",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}:wait",
	//   "response": {
	//     "$ref": "GoogleLongrunningOperation"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}

// method id "aiplatform.publishers.models.get":

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 information.
func (c *PublishersModelsGetCall) Fields(s ...googleapi.Field) *PublishersModelsGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
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. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *PublishersModelsGetCall) Context(ctx context.Context) *PublishersModelsGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP 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 := make(http.Header)
	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	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.
// Exactly one of *GoogleCloudAiplatformV1PublisherModel or error will
// be non-nil. 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
	// {
	//   "description": "Gets a Model Garden publisher model.",
	//   "flatPath": "v1/publishers/{publishersId}/models/{modelsId}",
	//   "httpMethod": "GET",
	//   "id": "aiplatform.publishers.models.get",
	//   "parameterOrder": [
	//     "name"
	//   ],
	//   "parameters": {
	//     "languageCode": {
	//       "description": "Optional. The IETF BCP-47 language code representing the language in which the publisher model's text information should be written in (see go/bcp47).",
	//       "location": "query",
	//       "type": "string"
	//     },
	//     "name": {
	//       "description": "Required. The name of the PublisherModel resource. Format: `publishers/{publisher}/models/{publisher_model}`",
	//       "location": "path",
	//       "pattern": "^publishers/[^/]+/models/[^/]+$",
	//       "required": true,
	//       "type": "string"
	//     },
	//     "view": {
	//       "description": "Optional. PublisherModel view specifying which fields to read.",
	//       "enum": [
	//         "PUBLISHER_MODEL_VIEW_UNSPECIFIED",
	//         "PUBLISHER_MODEL_VIEW_BASIC",
	//         "PUBLISHER_MODEL_VIEW_FULL",
	//         "PUBLISHER_MODEL_VERSION_VIEW_BASIC"
	//       ],
	//       "enumDescriptions": [
	//         "The default / unset value. The API will default to the BASIC view.",
	//         "Include basic metadata about the publisher model, but not the full contents.",
	//         "Include everything.",
	//         "Include: VersionId, ModelVersionExternalName, and SupportedActions."
	//       ],
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "v1/{+name}",
	//   "response": {
	//     "$ref": "GoogleCloudAiplatformV1PublisherModel"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/cloud-platform"
	//   ]
	// }

}
