# Copyright 2020 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

require 'google/apis/core/base_service'
require 'google/apis/core/json_representation'
require 'google/apis/core/hashable'
require 'google/apis/errors'

module Google
  module Apis
    module AiplatformV1
      # Vertex AI API
      #
      # Train high-quality custom machine learning models with minimal machine
      #  learning expertise and effort.
      #
      # @example
      #    require 'google/apis/aiplatform_v1'
      #
      #    Aiplatform = Google::Apis::AiplatformV1 # Alias the module
      #    service = Aiplatform::AiplatformService.new
      #
      # @see https://cloud.google.com/vertex-ai/
      class AiplatformService < Google::Apis::Core::BaseService
        DEFAULT_ENDPOINT_TEMPLATE = "https://aiplatform.$UNIVERSE_DOMAIN$/"

        # @return [String]
        #  API key. Your API key identifies your project and provides you with API access,
        #  quota, and reports. Required unless you provide an OAuth 2.0 token.
        attr_accessor :key

        # @return [String]
        #  Available to use for quota purposes for server-side applications. Can be any
        #  arbitrary string assigned to a user, but should not exceed 40 characters.
        attr_accessor :quota_user

        def initialize
          super(DEFAULT_ENDPOINT_TEMPLATE, '',
                client_name: 'google-apis-aiplatform_v1',
                client_version: Google::Apis::AiplatformV1::GEM_VERSION)
          @batch_path = 'batch'
        end
        
        # Creates a BatchPredictionJob. A BatchPredictionJob once created will right
        # away be attempted to start.
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1BatchPredictionJob] google_cloud_aiplatform_v1_batch_prediction_job_object
        # @param [String] parent
        #   Required. The resource name of the Location to create the BatchPredictionJob
        #   in. Format: `projects/`project`/locations/`location``
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1BatchPredictionJob] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1BatchPredictionJob]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def create_batch_prediction_job(google_cloud_aiplatform_v1_batch_prediction_job_object = nil, parent: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/batchPredictionJobs', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1BatchPredictionJob::Representation
          command.request_object = google_cloud_aiplatform_v1_batch_prediction_job_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1BatchPredictionJob::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1BatchPredictionJob
          command.query['parent'] = parent unless parent.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Gets a BatchPredictionJob
        # @param [String] name
        #   Required. The name of the BatchPredictionJob resource. Format: `projects/`
        #   project`/locations/`location`/batchPredictionJobs/`batch_prediction_job``
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1BatchPredictionJob] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1BatchPredictionJob]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_batch_prediction_job(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1BatchPredictionJob::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1BatchPredictionJob
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists BatchPredictionJobs in a Location.
        # @param [String] 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:*`
        # @param [Fixnum] page_size
        #   The standard list page size.
        # @param [String] page_token
        #   The standard list page token. Typically obtained via
        #   ListBatchPredictionJobsResponse.next_page_token of the previous JobService.
        #   ListBatchPredictionJobs call.
        # @param [String] parent
        #   Required. The resource name of the Location to list the BatchPredictionJobs
        #   from. Format: `projects/`project`/locations/`location``
        # @param [String] read_mask
        #   Mask specifying which fields to read.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListBatchPredictionJobsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListBatchPredictionJobsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_batch_prediction_jobs(filter: nil, page_size: nil, page_token: nil, parent: nil, read_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/batchPredictionJobs', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListBatchPredictionJobsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListBatchPredictionJobsResponse
          command.query['filter'] = filter unless filter.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['parent'] = parent unless parent.nil?
          command.query['readMask'] = read_mask unless read_mask.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Creates a Dataset.
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Dataset] google_cloud_aiplatform_v1_dataset_object
        # @param [String] parent
        #   Required. The resource name of the Location to create the Dataset in. Format: `
        #   projects/`project`/locations/`location``
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def create_dataset(google_cloud_aiplatform_v1_dataset_object = nil, parent: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/datasets', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Dataset::Representation
          command.request_object = google_cloud_aiplatform_v1_dataset_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.query['parent'] = parent unless parent.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Deletes a Dataset.
        # @param [String] name
        #   Required. The resource name of the Dataset to delete. Format: `projects/`
        #   project`/locations/`location`/datasets/`dataset``
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_dataset(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Gets a Dataset.
        # @param [String] name
        #   Required. The name of the Dataset resource.
        # @param [String] read_mask
        #   Mask specifying which fields to read.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Dataset] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Dataset]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_dataset(name, read_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Dataset::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Dataset
          command.params['name'] = name unless name.nil?
          command.query['readMask'] = read_mask unless read_mask.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists Datasets in a Location.
        # @param [String] 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"`
        # @param [String] order_by
        #   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`
        # @param [Fixnum] page_size
        #   The standard list page size.
        # @param [String] page_token
        #   The standard list page token.
        # @param [String] parent
        #   Required. The name of the Dataset's parent resource. Format: `projects/`
        #   project`/locations/`location``
        # @param [String] read_mask
        #   Mask specifying which fields to read.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListDatasetsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListDatasetsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_datasets(filter: nil, order_by: nil, page_size: nil, page_token: nil, parent: nil, read_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/datasets', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListDatasetsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListDatasetsResponse
          command.query['filter'] = filter unless filter.nil?
          command.query['orderBy'] = order_by unless order_by.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['parent'] = parent unless parent.nil?
          command.query['readMask'] = read_mask unless read_mask.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Updates a Dataset.
        # @param [String] name
        #   Output only. Identifier. The resource name of the Dataset. Format: `projects/`
        #   project`/locations/`location`/datasets/`dataset``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Dataset] google_cloud_aiplatform_v1_dataset_object
        # @param [String] update_mask
        #   Required. The update mask applies to the resource. For the `FieldMask`
        #   definition, see google.protobuf.FieldMask. Updatable fields: * `display_name` *
        #   `description` * `labels`
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Dataset] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Dataset]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def patch_dataset(name, google_cloud_aiplatform_v1_dataset_object = nil, update_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:patch, 'v1/{+name}', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Dataset::Representation
          command.request_object = google_cloud_aiplatform_v1_dataset_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Dataset::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Dataset
          command.params['name'] = name unless name.nil?
          command.query['updateMask'] = update_mask unless update_mask.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Create a version from a Dataset.
        # @param [String] parent
        #   Required. The name of the Dataset resource. Format: `projects/`project`/
        #   locations/`location`/datasets/`dataset``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1DatasetVersion] google_cloud_aiplatform_v1_dataset_version_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def create_dataset_dataset_version(parent, google_cloud_aiplatform_v1_dataset_version_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+parent}/datasetVersions', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1DatasetVersion::Representation
          command.request_object = google_cloud_aiplatform_v1_dataset_version_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['parent'] = parent unless parent.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Deletes a Dataset version.
        # @param [String] name
        #   Required. The resource name of the Dataset version to delete. Format: `
        #   projects/`project`/locations/`location`/datasets/`dataset`/datasetVersions/`
        #   dataset_version``
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_dataset_dataset_version(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Gets a Dataset version.
        # @param [String] name
        #   Required. The resource name of the Dataset version to delete. Format: `
        #   projects/`project`/locations/`location`/datasets/`dataset`/datasetVersions/`
        #   dataset_version``
        # @param [String] read_mask
        #   Mask specifying which fields to read.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1DatasetVersion] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1DatasetVersion]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_dataset_dataset_version(name, read_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1DatasetVersion::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1DatasetVersion
          command.params['name'] = name unless name.nil?
          command.query['readMask'] = read_mask unless read_mask.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists DatasetVersions in a Dataset.
        # @param [String] parent
        #   Required. The resource name of the Dataset to list DatasetVersions from.
        #   Format: `projects/`project`/locations/`location`/datasets/`dataset``
        # @param [String] filter
        #   Optional. The standard list filter.
        # @param [String] order_by
        #   Optional. A comma-separated list of fields to order by, sorted in ascending
        #   order. Use "desc" after a field name for descending.
        # @param [Fixnum] page_size
        #   Optional. The standard list page size.
        # @param [String] page_token
        #   Optional. The standard list page token.
        # @param [String] read_mask
        #   Optional. Mask specifying which fields to read.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListDatasetVersionsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListDatasetVersionsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_dataset_dataset_versions(parent, filter: nil, order_by: nil, page_size: nil, page_token: nil, read_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+parent}/datasetVersions', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListDatasetVersionsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListDatasetVersionsResponse
          command.params['parent'] = parent unless parent.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['orderBy'] = order_by unless order_by.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['readMask'] = read_mask unless read_mask.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Updates a DatasetVersion.
        # @param [String] name
        #   Output only. Identifier. The resource name of the DatasetVersion. Format: `
        #   projects/`project`/locations/`location`/datasets/`dataset`/datasetVersions/`
        #   dataset_version``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1DatasetVersion] google_cloud_aiplatform_v1_dataset_version_object
        # @param [String] update_mask
        #   Required. The update mask applies to the resource. For the `FieldMask`
        #   definition, see google.protobuf.FieldMask. Updatable fields: * `display_name`
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1DatasetVersion] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1DatasetVersion]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def patch_dataset_dataset_version(name, google_cloud_aiplatform_v1_dataset_version_object = nil, update_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:patch, 'v1/{+name}', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1DatasetVersion::Representation
          command.request_object = google_cloud_aiplatform_v1_dataset_version_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1DatasetVersion::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1DatasetVersion
          command.params['name'] = name unless name.nil?
          command.query['updateMask'] = update_mask unless update_mask.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Restores a dataset version.
        # @param [String] name
        #   Required. The name of the DatasetVersion resource. Format: `projects/`project`/
        #   locations/`location`/datasets/`dataset`/datasetVersions/`dataset_version``
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def restore_dataset_dataset_version(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}:restore', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Return a list of tokens based on the input text.
        # @param [String] endpoint
        #   Required. The name of the Endpoint requested to get lists of tokens and token
        #   ids.
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ComputeTokensRequest] google_cloud_aiplatform_v1_compute_tokens_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ComputeTokensResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ComputeTokensResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def compute_endpoint_tokens(endpoint, google_cloud_aiplatform_v1_compute_tokens_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+endpoint}:computeTokens', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ComputeTokensRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_compute_tokens_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ComputeTokensResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ComputeTokensResponse
          command.params['endpoint'] = endpoint unless endpoint.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Perform a token counting.
        # @param [String] endpoint
        #   Required. The name of the Endpoint requested to perform token counting. Format:
        #   `projects/`project`/locations/`location`/endpoints/`endpoint``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1CountTokensRequest] google_cloud_aiplatform_v1_count_tokens_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1CountTokensResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1CountTokensResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def count_endpoint_tokens(endpoint, google_cloud_aiplatform_v1_count_tokens_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+endpoint}:countTokens', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1CountTokensRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_count_tokens_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1CountTokensResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1CountTokensResponse
          command.params['endpoint'] = endpoint unless endpoint.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Fetch an asynchronous online prediction operation.
        # @param [String] endpoint
        #   Required. The name of the Endpoint requested to serve the prediction. Format: `
        #   projects/`project`/locations/`location`/endpoints/`endpoint`` or `projects/`
        #   project`/locations/`location`/publishers/`publisher`/models/`model``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1FetchPredictOperationRequest] google_cloud_aiplatform_v1_fetch_predict_operation_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def fetch_endpoint_predict_operation(endpoint, google_cloud_aiplatform_v1_fetch_predict_operation_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+endpoint}:fetchPredictOperation', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1FetchPredictOperationRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_fetch_predict_operation_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['endpoint'] = endpoint unless endpoint.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Generate content with multimodal inputs.
        # @param [String] model
        #   Required. The fully qualified name of the publisher model or tuned model
        #   endpoint to use. Publisher model format: `projects/`project`/locations/`
        #   location`/publishers/*/models/*` Tuned model endpoint format: `projects/`
        #   project`/locations/`location`/endpoints/`endpoint``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1GenerateContentRequest] google_cloud_aiplatform_v1_generate_content_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1GenerateContentResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1GenerateContentResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def generate_endpoint_content(model, google_cloud_aiplatform_v1_generate_content_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+model}:generateContent', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1GenerateContentRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_generate_content_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1GenerateContentResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1GenerateContentResponse
          command.params['model'] = model unless model.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Perform an online prediction.
        # @param [String] endpoint
        #   Required. The name of the Endpoint requested to serve the prediction. Format: `
        #   projects/`project`/locations/`location`/endpoints/`endpoint``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1PredictRequest] google_cloud_aiplatform_v1_predict_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1PredictResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1PredictResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def predict_endpoint(endpoint, google_cloud_aiplatform_v1_predict_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+endpoint}:predict', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1PredictRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_predict_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1PredictResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1PredictResponse
          command.params['endpoint'] = endpoint unless endpoint.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 
        # @param [String] endpoint
        #   Required. The name of the Endpoint requested to serve the prediction. Format: `
        #   projects/`project`/locations/`location`/endpoints/`endpoint`` or `projects/`
        #   project`/locations/`location`/publishers/`publisher`/models/`model``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1PredictLongRunningRequest] google_cloud_aiplatform_v1_predict_long_running_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def predict_endpoint_long_running(endpoint, google_cloud_aiplatform_v1_predict_long_running_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+endpoint}:predictLongRunning', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1PredictLongRunningRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_predict_long_running_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['endpoint'] = endpoint unless endpoint.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Generate content with multimodal inputs with streaming support.
        # @param [String] model
        #   Required. The fully qualified name of the publisher model or tuned model
        #   endpoint to use. Publisher model format: `projects/`project`/locations/`
        #   location`/publishers/*/models/*` Tuned model endpoint format: `projects/`
        #   project`/locations/`location`/endpoints/`endpoint``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1GenerateContentRequest] google_cloud_aiplatform_v1_generate_content_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1GenerateContentResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1GenerateContentResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def stream_endpoint_generate_content(model, google_cloud_aiplatform_v1_generate_content_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+model}:streamGenerateContent', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1GenerateContentRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_generate_content_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1GenerateContentResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1GenerateContentResponse
          command.params['model'] = model unless model.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Exposes an OpenAI-compatible endpoint for chat completions.
        # @param [String] endpoint
        #   Required. The name of the endpoint requested to serve the prediction. Format: `
        #   projects/`project`/locations/`location`/endpoints/`endpoint``
        # @param [Google::Apis::AiplatformV1::GoogleApiHttpBody] google_api_http_body_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleApiHttpBody] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleApiHttpBody]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def completions_endpoint_chat(endpoint, google_api_http_body_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+endpoint}/chat/completions', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleApiHttpBody::Representation
          command.request_object = google_api_http_body_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleApiHttpBody::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleApiHttpBody
          command.params['endpoint'] = endpoint unless endpoint.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Upload a file into a RagCorpus.
        # @param [String] parent
        #   Required. The name of the RagCorpus resource into which to upload the file.
        #   Format: `projects/`project`/locations/`location`/ragCorpora/`rag_corpus``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1UploadRagFileRequest] google_cloud_aiplatform_v1_upload_rag_file_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [IO, String] upload_source
        #   IO stream or filename containing content to upload
        # @param [String] content_type
        #   Content type of the uploaded content.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1UploadRagFileResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1UploadRagFileResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def upload_medium(parent, google_cloud_aiplatform_v1_upload_rag_file_request_object = nil, fields: nil, quota_user: nil, upload_source: nil, content_type: nil, options: nil, &block)
          if upload_source.nil?
            command = make_simple_command(:post, 'v1/{+parent}/ragFiles:upload', options)
          else
            command = make_upload_command(:post, 'v1/{+parent}/ragFiles:upload', options)
            command.upload_source = upload_source
            command.upload_content_type = content_type
          end
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1UploadRagFileRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_upload_rag_file_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1UploadRagFileResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1UploadRagFileResponse
          command.params['parent'] = parent unless parent.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Gets a GenAI cache config.
        # @param [String] name
        #   Required. Name of the cache config. Format: - `projects/`project`/cacheConfig`.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1CacheConfig] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1CacheConfig]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_cache_config(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1CacheConfig::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1CacheConfig
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Updates a cache config.
        # @param [String] name
        #   Identifier. Name of the cache config. Format: - `projects/`project`/
        #   cacheConfig`.
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1CacheConfig] google_cloud_aiplatform_v1_cache_config_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def update_project_cache_config(name, google_cloud_aiplatform_v1_cache_config_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:patch, 'v1/{+name}', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1CacheConfig::Representation
          command.request_object = google_cloud_aiplatform_v1_cache_config_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Given an input prompt, it returns augmented prompt from vertex rag store to
        # guide LLM towards generating grounded responses.
        # @param [String] parent
        #   Required. The resource name of the Location from which to augment prompt. The
        #   users must have permission to make a call in the project. Format: `projects/`
        #   project`/locations/`location``.
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1AugmentPromptRequest] google_cloud_aiplatform_v1_augment_prompt_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1AugmentPromptResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1AugmentPromptResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def augment_project_location_prompt(parent, google_cloud_aiplatform_v1_augment_prompt_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+parent}:augmentPrompt', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1AugmentPromptRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_augment_prompt_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1AugmentPromptResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1AugmentPromptResponse
          command.params['parent'] = parent unless parent.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Given an input text, it returns a score that evaluates the factuality of the
        # text. It also extracts and returns claims from the text and provides
        # supporting facts.
        # @param [String] parent
        #   Required. The resource name of the Location from which to corroborate text.
        #   The users must have permission to make a call in the project. Format: `
        #   projects/`project`/locations/`location``.
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1CorroborateContentRequest] google_cloud_aiplatform_v1_corroborate_content_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1CorroborateContentResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1CorroborateContentResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def corroborate_project_location_content(parent, google_cloud_aiplatform_v1_corroborate_content_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+parent}:corroborateContent', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1CorroborateContentRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_corroborate_content_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1CorroborateContentResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1CorroborateContentResponse
          command.params['parent'] = parent unless parent.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Deploys a model to a new endpoint.
        # @param [String] destination
        #   Required. The resource name of the Location to deploy the model in. Format: `
        #   projects/`project`/locations/`location``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1DeployRequest] google_cloud_aiplatform_v1_deploy_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def deploy_project_location(destination, google_cloud_aiplatform_v1_deploy_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+destination}:deploy', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1DeployRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_deploy_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['destination'] = destination unless destination.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Evaluates a dataset based on a set of given metrics.
        # @param [String] location
        #   Required. The resource name of the Location to evaluate the dataset. Format: `
        #   projects/`project`/locations/`location``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1EvaluateDatasetRequest] google_cloud_aiplatform_v1_evaluate_dataset_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def evaluate_project_location_dataset(location, google_cloud_aiplatform_v1_evaluate_dataset_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+location}:evaluateDataset', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1EvaluateDatasetRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_evaluate_dataset_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['location'] = location unless location.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Evaluates instances based on a given metric.
        # @param [String] location
        #   Required. The resource name of the Location to evaluate the instances. Format:
        #   `projects/`project`/locations/`location``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1EvaluateInstancesRequest] google_cloud_aiplatform_v1_evaluate_instances_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1EvaluateInstancesResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1EvaluateInstancesResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def evaluate_project_location_instances(location, google_cloud_aiplatform_v1_evaluate_instances_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+location}:evaluateInstances', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1EvaluateInstancesRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_evaluate_instances_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1EvaluateInstancesResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1EvaluateInstancesResponse
          command.params['location'] = location unless location.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Generates rubrics for a given prompt. A rubric represents a single testable
        # criterion for evaluation. One input prompt could have multiple rubrics This
        # RPC allows users to get suggested rubrics based on provided prompt, which can
        # then be reviewed and used for subsequent evaluations.
        # @param [String] location
        #   Required. The resource name of the Location to generate rubrics from. Format: `
        #   projects/`project`/locations/`location``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1GenerateInstanceRubricsRequest] google_cloud_aiplatform_v1_generate_instance_rubrics_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1GenerateInstanceRubricsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1GenerateInstanceRubricsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def generate_project_location_instance_rubrics(location, google_cloud_aiplatform_v1_generate_instance_rubrics_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+location}:generateInstanceRubrics', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1GenerateInstanceRubricsRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_generate_instance_rubrics_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1GenerateInstanceRubricsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1GenerateInstanceRubricsResponse
          command.params['location'] = location unless location.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Generates synthetic data based on the provided configuration.
        # @param [String] location
        #   Required. The resource name of the Location to run the job. Format: `projects/`
        #   project`/locations/`location``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1GenerateSyntheticDataRequest] google_cloud_aiplatform_v1_generate_synthetic_data_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1GenerateSyntheticDataResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1GenerateSyntheticDataResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def generate_project_location_synthetic_data(location, google_cloud_aiplatform_v1_generate_synthetic_data_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+location}:generateSyntheticData', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1GenerateSyntheticDataRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_generate_synthetic_data_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1GenerateSyntheticDataResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1GenerateSyntheticDataResponse
          command.params['location'] = location unless location.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Gets information about a location.
        # @param [String] name
        #   Resource name for the location.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudLocationLocation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudLocationLocation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudLocationLocation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudLocationLocation
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Gets a RagEngineConfig.
        # @param [String] name
        #   Required. The name of the RagEngineConfig resource. Format: `projects/`project`
        #   /locations/`location`/ragEngineConfig`
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1RagEngineConfig] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1RagEngineConfig]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_rag_engine_config(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1RagEngineConfig::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1RagEngineConfig
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists information about the supported locations for this service.
        # @param [String] name
        #   The resource that owns the locations collection, if applicable.
        # @param [Array<String>, String] extra_location_types
        #   Optional. Unless explicitly documented otherwise, don't use this unsupported
        #   field which is primarily intended for internal usage.
        # @param [String] 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).
        # @param [Fixnum] page_size
        #   The maximum number of results to return. If not set, the service selects a
        #   default.
        # @param [String] page_token
        #   A page token received from the `next_page_token` field in the response. Send
        #   that page token to receive the subsequent page.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudLocationListLocationsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudLocationListLocationsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_locations(name, extra_location_types: nil, filter: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}/locations', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudLocationListLocationsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudLocationListLocationsResponse
          command.params['name'] = name unless name.nil?
          command.query['extraLocationTypes'] = extra_location_types unless extra_location_types.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Retrieves relevant contexts for a query.
        # @param [String] parent
        #   Required. The resource name of the Location from which to retrieve RagContexts.
        #   The users must have permission to make a call in the project. Format: `
        #   projects/`project`/locations/`location``.
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1RetrieveContextsRequest] google_cloud_aiplatform_v1_retrieve_contexts_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1RetrieveContextsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1RetrieveContextsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def retrieve_project_location_contexts(parent, google_cloud_aiplatform_v1_retrieve_contexts_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+parent}:retrieveContexts', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1RetrieveContextsRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_retrieve_contexts_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1RetrieveContextsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1RetrieveContextsResponse
          command.params['parent'] = parent unless parent.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Updates a RagEngineConfig.
        # @param [String] name
        #   Identifier. The name of the RagEngineConfig. Format: `projects/`project`/
        #   locations/`location`/ragEngineConfig`
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1RagEngineConfig] google_cloud_aiplatform_v1_rag_engine_config_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def update_project_location_rag_engine_config(name, google_cloud_aiplatform_v1_rag_engine_config_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:patch, 'v1/{+name}', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1RagEngineConfig::Representation
          command.request_object = google_cloud_aiplatform_v1_rag_engine_config_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] name
        #   Required. The name of the BatchPredictionJob to cancel. Format: `projects/`
        #   project`/locations/`location`/batchPredictionJobs/`batch_prediction_job``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1CancelBatchPredictionJobRequest] google_cloud_aiplatform_v1_cancel_batch_prediction_job_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def cancel_project_location_batch_prediction_job(name, google_cloud_aiplatform_v1_cancel_batch_prediction_job_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:cancel', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1CancelBatchPredictionJobRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_cancel_batch_prediction_job_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Creates a BatchPredictionJob. A BatchPredictionJob once created will right
        # away be attempted to start.
        # @param [String] parent
        #   Required. The resource name of the Location to create the BatchPredictionJob
        #   in. Format: `projects/`project`/locations/`location``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1BatchPredictionJob] google_cloud_aiplatform_v1_batch_prediction_job_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1BatchPredictionJob] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1BatchPredictionJob]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def create_project_location_batch_prediction_job(parent, google_cloud_aiplatform_v1_batch_prediction_job_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+parent}/batchPredictionJobs', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1BatchPredictionJob::Representation
          command.request_object = google_cloud_aiplatform_v1_batch_prediction_job_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1BatchPredictionJob::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1BatchPredictionJob
          command.params['parent'] = parent unless parent.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Deletes a BatchPredictionJob. Can only be called on jobs that already finished.
        # @param [String] name
        #   Required. The name of the BatchPredictionJob resource to be deleted. Format: `
        #   projects/`project`/locations/`location`/batchPredictionJobs/`
        #   batch_prediction_job``
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_batch_prediction_job(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Gets a BatchPredictionJob
        # @param [String] name
        #   Required. The name of the BatchPredictionJob resource. Format: `projects/`
        #   project`/locations/`location`/batchPredictionJobs/`batch_prediction_job``
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1BatchPredictionJob] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1BatchPredictionJob]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_batch_prediction_job(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1BatchPredictionJob::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1BatchPredictionJob
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists BatchPredictionJobs in a Location.
        # @param [String] parent
        #   Required. The resource name of the Location to list the BatchPredictionJobs
        #   from. Format: `projects/`project`/locations/`location``
        # @param [String] 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:*`
        # @param [Fixnum] page_size
        #   The standard list page size.
        # @param [String] page_token
        #   The standard list page token. Typically obtained via
        #   ListBatchPredictionJobsResponse.next_page_token of the previous JobService.
        #   ListBatchPredictionJobs call.
        # @param [String] read_mask
        #   Mask specifying which fields to read.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListBatchPredictionJobsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListBatchPredictionJobsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_batch_prediction_jobs(parent, filter: nil, page_size: nil, page_token: nil, read_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+parent}/batchPredictionJobs', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListBatchPredictionJobsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListBatchPredictionJobsResponse
          command.params['parent'] = parent unless parent.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['readMask'] = read_mask unless read_mask.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Creates cached content, this call will initialize the cached content in the
        # data storage, and users need to pay for the cache data storage.
        # @param [String] parent
        #   Required. The parent resource where the cached content will be created
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1CachedContent] google_cloud_aiplatform_v1_cached_content_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1CachedContent] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1CachedContent]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def create_project_location_cached_content(parent, google_cloud_aiplatform_v1_cached_content_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+parent}/cachedContents', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1CachedContent::Representation
          command.request_object = google_cloud_aiplatform_v1_cached_content_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1CachedContent::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1CachedContent
          command.params['parent'] = parent unless parent.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Deletes cached content
        # @param [String] name
        #   Required. The resource name referring to the cached content
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_cached_content(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Gets cached content configurations
        # @param [String] name
        #   Required. The resource name referring to the cached content
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1CachedContent] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1CachedContent]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_cached_content(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1CachedContent::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1CachedContent
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists cached contents in a project
        # @param [String] parent
        #   Required. The parent, which owns this collection of cached contents.
        # @param [Fixnum] page_size
        #   Optional. The maximum number of cached contents to return. The service may
        #   return fewer than this value. If unspecified, some default (under maximum)
        #   number of items will be returned. The maximum value is 1000; values above 1000
        #   will be coerced to 1000.
        # @param [String] page_token
        #   Optional. A page token, received from a previous `ListCachedContents` call.
        #   Provide this to retrieve the subsequent page. When paginating, all other
        #   parameters provided to `ListCachedContents` must match the call that provided
        #   the page token.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListCachedContentsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListCachedContentsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_cached_contents(parent, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+parent}/cachedContents', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListCachedContentsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListCachedContentsResponse
          command.params['parent'] = parent unless parent.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Updates cached content configurations
        # @param [String] name
        #   Immutable. Identifier. The server-generated resource name of the cached
        #   content Format: projects/`project`/locations/`location`/cachedContents/`
        #   cached_content`
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1CachedContent] google_cloud_aiplatform_v1_cached_content_object
        # @param [String] update_mask
        #   Required. The list of fields to update.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1CachedContent] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1CachedContent]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def patch_project_location_cached_content(name, google_cloud_aiplatform_v1_cached_content_object = nil, update_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:patch, 'v1/{+name}', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1CachedContent::Representation
          command.request_object = google_cloud_aiplatform_v1_cached_content_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1CachedContent::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1CachedContent
          command.params['name'] = name unless name.nil?
          command.query['updateMask'] = update_mask unless update_mask.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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`.
        # @param [String] name
        #   Required. The name of the CustomJob to cancel. Format: `projects/`project`/
        #   locations/`location`/customJobs/`custom_job``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1CancelCustomJobRequest] google_cloud_aiplatform_v1_cancel_custom_job_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def cancel_project_location_custom_job(name, google_cloud_aiplatform_v1_cancel_custom_job_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:cancel', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1CancelCustomJobRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_cancel_custom_job_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Creates a CustomJob. A created CustomJob right away will be attempted to be
        # run.
        # @param [String] parent
        #   Required. The resource name of the Location to create the CustomJob in. Format:
        #   `projects/`project`/locations/`location``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1CustomJob] google_cloud_aiplatform_v1_custom_job_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1CustomJob] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1CustomJob]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def create_project_location_custom_job(parent, google_cloud_aiplatform_v1_custom_job_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+parent}/customJobs', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1CustomJob::Representation
          command.request_object = google_cloud_aiplatform_v1_custom_job_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1CustomJob::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1CustomJob
          command.params['parent'] = parent unless parent.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Deletes a CustomJob.
        # @param [String] name
        #   Required. The name of the CustomJob resource to be deleted. Format: `projects/`
        #   project`/locations/`location`/customJobs/`custom_job``
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_custom_job(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Gets a CustomJob.
        # @param [String] name
        #   Required. The name of the CustomJob resource. Format: `projects/`project`/
        #   locations/`location`/customJobs/`custom_job``
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1CustomJob] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1CustomJob]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_custom_job(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1CustomJob::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1CustomJob
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists CustomJobs in a Location.
        # @param [String] parent
        #   Required. The resource name of the Location to list the CustomJobs from.
        #   Format: `projects/`project`/locations/`location``
        # @param [String] 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:*`
        # @param [Fixnum] page_size
        #   The standard list page size.
        # @param [String] page_token
        #   The standard list page token. Typically obtained via ListCustomJobsResponse.
        #   next_page_token of the previous JobService.ListCustomJobs call.
        # @param [String] read_mask
        #   Mask specifying which fields to read.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListCustomJobsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListCustomJobsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_custom_jobs(parent, filter: nil, page_size: nil, page_token: nil, read_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+parent}/customJobs', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListCustomJobsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListCustomJobsResponse
          command.params['parent'] = parent unless parent.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['readMask'] = read_mask unless read_mask.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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`.
        # @param [String] name
        #   The name of the operation resource to be cancelled.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def cancel_project_location_custom_job_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:cancel', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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`.
        # @param [String] name
        #   The name of the operation resource to be deleted.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_custom_job_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] name
        #   The name of the operation resource.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_custom_job_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists operations that match the specified filter in the request. If the server
        # doesn't support this method, it returns `UNIMPLEMENTED`.
        # @param [String] name
        #   The name of the operation's parent resource.
        # @param [String] filter
        #   The standard list filter.
        # @param [Fixnum] page_size
        #   The standard list page size.
        # @param [String] page_token
        #   The standard list page token.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_custom_job_operations(name, filter: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}/operations', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse
          command.params['name'] = name unless name.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] name
        #   The name of the operation resource to wait on.
        # @param [String] 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.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def wait_project_location_custom_job_operation(name, timeout: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:wait', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['timeout'] = timeout unless timeout.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Cancels a DataLabelingJob. Success of cancellation is not guaranteed.
        # @param [String] name
        #   Required. The name of the DataLabelingJob. Format: `projects/`project`/
        #   locations/`location`/dataLabelingJobs/`data_labeling_job``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1CancelDataLabelingJobRequest] google_cloud_aiplatform_v1_cancel_data_labeling_job_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def cancel_project_location_data_labeling_job(name, google_cloud_aiplatform_v1_cancel_data_labeling_job_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:cancel', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1CancelDataLabelingJobRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_cancel_data_labeling_job_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Creates a DataLabelingJob.
        # @param [String] parent
        #   Required. The parent of the DataLabelingJob. Format: `projects/`project`/
        #   locations/`location``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1DataLabelingJob] google_cloud_aiplatform_v1_data_labeling_job_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1DataLabelingJob] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1DataLabelingJob]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def create_project_location_data_labeling_job(parent, google_cloud_aiplatform_v1_data_labeling_job_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+parent}/dataLabelingJobs', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1DataLabelingJob::Representation
          command.request_object = google_cloud_aiplatform_v1_data_labeling_job_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1DataLabelingJob::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1DataLabelingJob
          command.params['parent'] = parent unless parent.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Deletes a DataLabelingJob.
        # @param [String] name
        #   Required. The name of the DataLabelingJob to be deleted. Format: `projects/`
        #   project`/locations/`location`/dataLabelingJobs/`data_labeling_job``
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_data_labeling_job(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Gets a DataLabelingJob.
        # @param [String] name
        #   Required. The name of the DataLabelingJob. Format: `projects/`project`/
        #   locations/`location`/dataLabelingJobs/`data_labeling_job``
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1DataLabelingJob] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1DataLabelingJob]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_data_labeling_job(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1DataLabelingJob::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1DataLabelingJob
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists DataLabelingJobs in a Location.
        # @param [String] parent
        #   Required. The parent of the DataLabelingJob. Format: `projects/`project`/
        #   locations/`location``
        # @param [String] 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:*`
        # @param [String] order_by
        #   A comma-separated list of fields to order by, sorted in ascending order by
        #   default. Use `desc` after a field name for descending.
        # @param [Fixnum] page_size
        #   The standard list page size.
        # @param [String] page_token
        #   The standard list page token.
        # @param [String] read_mask
        #   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.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListDataLabelingJobsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListDataLabelingJobsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_data_labeling_jobs(parent, filter: nil, order_by: nil, page_size: nil, page_token: nil, read_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+parent}/dataLabelingJobs', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListDataLabelingJobsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListDataLabelingJobsResponse
          command.params['parent'] = parent unless parent.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['orderBy'] = order_by unless order_by.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['readMask'] = read_mask unless read_mask.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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`.
        # @param [String] name
        #   The name of the operation resource to be cancelled.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def cancel_project_location_data_labeling_job_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:cancel', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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`.
        # @param [String] name
        #   The name of the operation resource to be deleted.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_data_labeling_job_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] name
        #   The name of the operation resource.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_data_labeling_job_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists operations that match the specified filter in the request. If the server
        # doesn't support this method, it returns `UNIMPLEMENTED`.
        # @param [String] name
        #   The name of the operation's parent resource.
        # @param [String] filter
        #   The standard list filter.
        # @param [Fixnum] page_size
        #   The standard list page size.
        # @param [String] page_token
        #   The standard list page token.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_data_labeling_job_operations(name, filter: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}/operations', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse
          command.params['name'] = name unless name.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] name
        #   The name of the operation resource to wait on.
        # @param [String] 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.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def wait_project_location_data_labeling_job_operation(name, timeout: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:wait', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['timeout'] = timeout unless timeout.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Creates a Dataset.
        # @param [String] parent
        #   Required. The resource name of the Location to create the Dataset in. Format: `
        #   projects/`project`/locations/`location``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Dataset] google_cloud_aiplatform_v1_dataset_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def create_project_location_dataset(parent, google_cloud_aiplatform_v1_dataset_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+parent}/datasets', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Dataset::Representation
          command.request_object = google_cloud_aiplatform_v1_dataset_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['parent'] = parent unless parent.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Deletes a Dataset.
        # @param [String] name
        #   Required. The resource name of the Dataset to delete. Format: `projects/`
        #   project`/locations/`location`/datasets/`dataset``
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_dataset(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Exports data from a Dataset.
        # @param [String] name
        #   Required. The name of the Dataset resource. Format: `projects/`project`/
        #   locations/`location`/datasets/`dataset``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ExportDataRequest] google_cloud_aiplatform_v1_export_data_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def export_project_location_dataset(name, google_cloud_aiplatform_v1_export_data_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:export', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ExportDataRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_export_data_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Gets a Dataset.
        # @param [String] name
        #   Required. The name of the Dataset resource.
        # @param [String] read_mask
        #   Mask specifying which fields to read.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Dataset] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Dataset]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_dataset(name, read_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Dataset::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Dataset
          command.params['name'] = name unless name.nil?
          command.query['readMask'] = read_mask unless read_mask.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Imports data into a Dataset.
        # @param [String] name
        #   Required. The name of the Dataset resource. Format: `projects/`project`/
        #   locations/`location`/datasets/`dataset``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ImportDataRequest] google_cloud_aiplatform_v1_import_data_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def import_project_location_dataset(name, google_cloud_aiplatform_v1_import_data_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:import', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ImportDataRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_import_data_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists Datasets in a Location.
        # @param [String] parent
        #   Required. The name of the Dataset's parent resource. Format: `projects/`
        #   project`/locations/`location``
        # @param [String] 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"`
        # @param [String] order_by
        #   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`
        # @param [Fixnum] page_size
        #   The standard list page size.
        # @param [String] page_token
        #   The standard list page token.
        # @param [String] read_mask
        #   Mask specifying which fields to read.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListDatasetsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListDatasetsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_datasets(parent, filter: nil, order_by: nil, page_size: nil, page_token: nil, read_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+parent}/datasets', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListDatasetsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListDatasetsResponse
          command.params['parent'] = parent unless parent.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['orderBy'] = order_by unless order_by.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['readMask'] = read_mask unless read_mask.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Updates a Dataset.
        # @param [String] name
        #   Output only. Identifier. The resource name of the Dataset. Format: `projects/`
        #   project`/locations/`location`/datasets/`dataset``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Dataset] google_cloud_aiplatform_v1_dataset_object
        # @param [String] update_mask
        #   Required. The update mask applies to the resource. For the `FieldMask`
        #   definition, see google.protobuf.FieldMask. Updatable fields: * `display_name` *
        #   `description` * `labels`
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Dataset] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Dataset]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def patch_project_location_dataset(name, google_cloud_aiplatform_v1_dataset_object = nil, update_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:patch, 'v1/{+name}', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Dataset::Representation
          command.request_object = google_cloud_aiplatform_v1_dataset_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Dataset::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Dataset
          command.params['name'] = name unless name.nil?
          command.query['updateMask'] = update_mask unless update_mask.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Searches DataItems in a Dataset.
        # @param [String] dataset
        #   Required. The resource name of the Dataset from which to search DataItems.
        #   Format: `projects/`project`/locations/`location`/datasets/`dataset``
        # @param [Array<String>, String] annotation_filters
        #   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.
        # @param [String] annotations_filter
        #   An expression for filtering the Annotations that will be returned per DataItem.
        #   * `annotation_spec_id` - for = or !=.
        # @param [Fixnum] annotations_limit
        #   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.
        # @param [String] data_item_filter
        #   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)`
        # @param [String] data_labeling_job
        #   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.
        # @param [String] field_mask
        #   Mask specifying which fields of DataItemView to read.
        # @param [String] order_by
        #   A comma-separated list of fields to order by, sorted in ascending order. Use "
        #   desc" after a field name for descending.
        # @param [String] order_by_annotation_order_by
        #   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.
        # @param [String] order_by_annotation_saved_query
        #   Required. Saved query of the Annotation. Only Annotations belong to this saved
        #   query will be considered for ordering.
        # @param [String] order_by_data_item
        #   A comma-separated list of data item fields to order by, sorted in ascending
        #   order. Use "desc" after a field name for descending.
        # @param [Fixnum] page_size
        #   Requested page size. Server may return fewer results than requested. Default
        #   and maximum page size is 100.
        # @param [String] page_token
        #   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.
        # @param [String] saved_query
        #   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.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1SearchDataItemsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1SearchDataItemsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def search_project_location_dataset_data_items(dataset, annotation_filters: nil, annotations_filter: nil, annotations_limit: nil, data_item_filter: nil, data_labeling_job: nil, field_mask: nil, order_by: nil, order_by_annotation_order_by: nil, order_by_annotation_saved_query: nil, order_by_data_item: nil, page_size: nil, page_token: nil, saved_query: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+dataset}:searchDataItems', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1SearchDataItemsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1SearchDataItemsResponse
          command.params['dataset'] = dataset unless dataset.nil?
          command.query['annotationFilters'] = annotation_filters unless annotation_filters.nil?
          command.query['annotationsFilter'] = annotations_filter unless annotations_filter.nil?
          command.query['annotationsLimit'] = annotations_limit unless annotations_limit.nil?
          command.query['dataItemFilter'] = data_item_filter unless data_item_filter.nil?
          command.query['dataLabelingJob'] = data_labeling_job unless data_labeling_job.nil?
          command.query['fieldMask'] = field_mask unless field_mask.nil?
          command.query['orderBy'] = order_by unless order_by.nil?
          command.query['orderByAnnotation.orderBy'] = order_by_annotation_order_by unless order_by_annotation_order_by.nil?
          command.query['orderByAnnotation.savedQuery'] = order_by_annotation_saved_query unless order_by_annotation_saved_query.nil?
          command.query['orderByDataItem'] = order_by_data_item unless order_by_data_item.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['savedQuery'] = saved_query unless saved_query.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Gets an AnnotationSpec.
        # @param [String] name
        #   Required. The name of the AnnotationSpec resource. Format: `projects/`project`/
        #   locations/`location`/datasets/`dataset`/annotationSpecs/`annotation_spec``
        # @param [String] read_mask
        #   Mask specifying which fields to read.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1AnnotationSpec] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1AnnotationSpec]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_dataset_annotation_spec(name, read_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1AnnotationSpec::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1AnnotationSpec
          command.params['name'] = name unless name.nil?
          command.query['readMask'] = read_mask unless read_mask.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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`.
        # @param [String] name
        #   The name of the operation resource to be cancelled.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def cancel_project_location_dataset_annotation_spec_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:cancel', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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`.
        # @param [String] name
        #   The name of the operation resource to be deleted.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_dataset_annotation_spec_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] name
        #   The name of the operation resource.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_dataset_annotation_spec_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists operations that match the specified filter in the request. If the server
        # doesn't support this method, it returns `UNIMPLEMENTED`.
        # @param [String] name
        #   The name of the operation's parent resource.
        # @param [String] filter
        #   The standard list filter.
        # @param [Fixnum] page_size
        #   The standard list page size.
        # @param [String] page_token
        #   The standard list page token.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_dataset_annotation_spec_operations(name, filter: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}/operations', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse
          command.params['name'] = name unless name.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] name
        #   The name of the operation resource to wait on.
        # @param [String] 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.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def wait_project_location_dataset_annotation_spec_operation(name, timeout: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:wait', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['timeout'] = timeout unless timeout.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists DataItems in a Dataset.
        # @param [String] parent
        #   Required. The resource name of the Dataset to list DataItems from. Format: `
        #   projects/`project`/locations/`location`/datasets/`dataset``
        # @param [String] filter
        #   The standard list filter.
        # @param [String] order_by
        #   A comma-separated list of fields to order by, sorted in ascending order. Use "
        #   desc" after a field name for descending.
        # @param [Fixnum] page_size
        #   The standard list page size.
        # @param [String] page_token
        #   The standard list page token.
        # @param [String] read_mask
        #   Mask specifying which fields to read.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListDataItemsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListDataItemsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_dataset_data_items(parent, filter: nil, order_by: nil, page_size: nil, page_token: nil, read_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+parent}/dataItems', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListDataItemsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListDataItemsResponse
          command.params['parent'] = parent unless parent.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['orderBy'] = order_by unless order_by.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['readMask'] = read_mask unless read_mask.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists Annotations belongs to a dataitem.
        # @param [String] parent
        #   Required. The resource name of the DataItem to list Annotations from. Format: `
        #   projects/`project`/locations/`location`/datasets/`dataset`/dataItems/`
        #   data_item``
        # @param [String] filter
        #   The standard list filter.
        # @param [String] order_by
        #   A comma-separated list of fields to order by, sorted in ascending order. Use "
        #   desc" after a field name for descending.
        # @param [Fixnum] page_size
        #   The standard list page size.
        # @param [String] page_token
        #   The standard list page token.
        # @param [String] read_mask
        #   Mask specifying which fields to read.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListAnnotationsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListAnnotationsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_dataset_data_item_annotations(parent, filter: nil, order_by: nil, page_size: nil, page_token: nil, read_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+parent}/annotations', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListAnnotationsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListAnnotationsResponse
          command.params['parent'] = parent unless parent.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['orderBy'] = order_by unless order_by.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['readMask'] = read_mask unless read_mask.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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`.
        # @param [String] name
        #   The name of the operation resource to be cancelled.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def cancel_project_location_dataset_data_item_annotation_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:cancel', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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`.
        # @param [String] name
        #   The name of the operation resource to be deleted.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_dataset_data_item_annotation_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] name
        #   The name of the operation resource.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_dataset_data_item_annotation_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists operations that match the specified filter in the request. If the server
        # doesn't support this method, it returns `UNIMPLEMENTED`.
        # @param [String] name
        #   The name of the operation's parent resource.
        # @param [String] filter
        #   The standard list filter.
        # @param [Fixnum] page_size
        #   The standard list page size.
        # @param [String] page_token
        #   The standard list page token.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_dataset_data_item_annotation_operations(name, filter: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}/operations', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse
          command.params['name'] = name unless name.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] name
        #   The name of the operation resource to wait on.
        # @param [String] 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.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def wait_project_location_dataset_data_item_annotation_operation(name, timeout: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:wait', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['timeout'] = timeout unless timeout.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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`.
        # @param [String] name
        #   The name of the operation resource to be cancelled.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def cancel_project_location_dataset_data_item_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:cancel', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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`.
        # @param [String] name
        #   The name of the operation resource to be deleted.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_dataset_data_item_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] name
        #   The name of the operation resource.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_dataset_data_item_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists operations that match the specified filter in the request. If the server
        # doesn't support this method, it returns `UNIMPLEMENTED`.
        # @param [String] name
        #   The name of the operation's parent resource.
        # @param [String] filter
        #   The standard list filter.
        # @param [Fixnum] page_size
        #   The standard list page size.
        # @param [String] page_token
        #   The standard list page token.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_dataset_data_item_operations(name, filter: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}/operations', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse
          command.params['name'] = name unless name.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] name
        #   The name of the operation resource to wait on.
        # @param [String] 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.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def wait_project_location_dataset_data_item_operation(name, timeout: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:wait', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['timeout'] = timeout unless timeout.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Create a version from a Dataset.
        # @param [String] parent
        #   Required. The name of the Dataset resource. Format: `projects/`project`/
        #   locations/`location`/datasets/`dataset``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1DatasetVersion] google_cloud_aiplatform_v1_dataset_version_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def create_project_location_dataset_dataset_version(parent, google_cloud_aiplatform_v1_dataset_version_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+parent}/datasetVersions', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1DatasetVersion::Representation
          command.request_object = google_cloud_aiplatform_v1_dataset_version_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['parent'] = parent unless parent.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Deletes a Dataset version.
        # @param [String] name
        #   Required. The resource name of the Dataset version to delete. Format: `
        #   projects/`project`/locations/`location`/datasets/`dataset`/datasetVersions/`
        #   dataset_version``
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_dataset_dataset_version(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Gets a Dataset version.
        # @param [String] name
        #   Required. The resource name of the Dataset version to delete. Format: `
        #   projects/`project`/locations/`location`/datasets/`dataset`/datasetVersions/`
        #   dataset_version``
        # @param [String] read_mask
        #   Mask specifying which fields to read.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1DatasetVersion] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1DatasetVersion]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_dataset_dataset_version(name, read_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1DatasetVersion::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1DatasetVersion
          command.params['name'] = name unless name.nil?
          command.query['readMask'] = read_mask unless read_mask.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists DatasetVersions in a Dataset.
        # @param [String] parent
        #   Required. The resource name of the Dataset to list DatasetVersions from.
        #   Format: `projects/`project`/locations/`location`/datasets/`dataset``
        # @param [String] filter
        #   Optional. The standard list filter.
        # @param [String] order_by
        #   Optional. A comma-separated list of fields to order by, sorted in ascending
        #   order. Use "desc" after a field name for descending.
        # @param [Fixnum] page_size
        #   Optional. The standard list page size.
        # @param [String] page_token
        #   Optional. The standard list page token.
        # @param [String] read_mask
        #   Optional. Mask specifying which fields to read.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListDatasetVersionsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListDatasetVersionsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_dataset_dataset_versions(parent, filter: nil, order_by: nil, page_size: nil, page_token: nil, read_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+parent}/datasetVersions', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListDatasetVersionsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListDatasetVersionsResponse
          command.params['parent'] = parent unless parent.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['orderBy'] = order_by unless order_by.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['readMask'] = read_mask unless read_mask.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Updates a DatasetVersion.
        # @param [String] name
        #   Output only. Identifier. The resource name of the DatasetVersion. Format: `
        #   projects/`project`/locations/`location`/datasets/`dataset`/datasetVersions/`
        #   dataset_version``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1DatasetVersion] google_cloud_aiplatform_v1_dataset_version_object
        # @param [String] update_mask
        #   Required. The update mask applies to the resource. For the `FieldMask`
        #   definition, see google.protobuf.FieldMask. Updatable fields: * `display_name`
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1DatasetVersion] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1DatasetVersion]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def patch_project_location_dataset_dataset_version(name, google_cloud_aiplatform_v1_dataset_version_object = nil, update_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:patch, 'v1/{+name}', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1DatasetVersion::Representation
          command.request_object = google_cloud_aiplatform_v1_dataset_version_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1DatasetVersion::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1DatasetVersion
          command.params['name'] = name unless name.nil?
          command.query['updateMask'] = update_mask unless update_mask.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Restores a dataset version.
        # @param [String] name
        #   Required. The name of the DatasetVersion resource. Format: `projects/`project`/
        #   locations/`location`/datasets/`dataset`/datasetVersions/`dataset_version``
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def restore_project_location_dataset_dataset_version(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}:restore', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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`.
        # @param [String] name
        #   The name of the operation resource to be cancelled.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def cancel_project_location_dataset_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:cancel', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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`.
        # @param [String] name
        #   The name of the operation resource to be deleted.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_dataset_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] name
        #   The name of the operation resource.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_dataset_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists operations that match the specified filter in the request. If the server
        # doesn't support this method, it returns `UNIMPLEMENTED`.
        # @param [String] name
        #   The name of the operation's parent resource.
        # @param [String] filter
        #   The standard list filter.
        # @param [Fixnum] page_size
        #   The standard list page size.
        # @param [String] page_token
        #   The standard list page token.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_dataset_operations(name, filter: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}/operations', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse
          command.params['name'] = name unless name.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] name
        #   The name of the operation resource to wait on.
        # @param [String] 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.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def wait_project_location_dataset_operation(name, timeout: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:wait', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['timeout'] = timeout unless timeout.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Deletes a SavedQuery.
        # @param [String] name
        #   Required. The resource name of the SavedQuery to delete. Format: `projects/`
        #   project`/locations/`location`/datasets/`dataset`/savedQueries/`saved_query``
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_dataset_saved_query(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists SavedQueries in a Dataset.
        # @param [String] parent
        #   Required. The resource name of the Dataset to list SavedQueries from. Format: `
        #   projects/`project`/locations/`location`/datasets/`dataset``
        # @param [String] filter
        #   The standard list filter.
        # @param [String] order_by
        #   A comma-separated list of fields to order by, sorted in ascending order. Use "
        #   desc" after a field name for descending.
        # @param [Fixnum] page_size
        #   The standard list page size.
        # @param [String] page_token
        #   The standard list page token.
        # @param [String] read_mask
        #   Mask specifying which fields to read.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListSavedQueriesResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListSavedQueriesResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_dataset_saved_queries(parent, filter: nil, order_by: nil, page_size: nil, page_token: nil, read_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+parent}/savedQueries', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListSavedQueriesResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListSavedQueriesResponse
          command.params['parent'] = parent unless parent.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['orderBy'] = order_by unless order_by.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['readMask'] = read_mask unless read_mask.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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`.
        # @param [String] name
        #   The name of the operation resource to be cancelled.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def cancel_project_location_dataset_saved_query_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:cancel', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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`.
        # @param [String] name
        #   The name of the operation resource to be deleted.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_dataset_saved_query_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] name
        #   The name of the operation resource.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_dataset_saved_query_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists operations that match the specified filter in the request. If the server
        # doesn't support this method, it returns `UNIMPLEMENTED`.
        # @param [String] name
        #   The name of the operation's parent resource.
        # @param [String] filter
        #   The standard list filter.
        # @param [Fixnum] page_size
        #   The standard list page size.
        # @param [String] page_token
        #   The standard list page token.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_dataset_saved_query_operations(name, filter: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}/operations', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse
          command.params['name'] = name unless name.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] name
        #   The name of the operation resource to wait on.
        # @param [String] 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.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def wait_project_location_dataset_saved_query_operation(name, timeout: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:wait', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['timeout'] = timeout unless timeout.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Create a DeploymentResourcePool.
        # @param [String] parent
        #   Required. The parent location resource where this DeploymentResourcePool will
        #   be created. Format: `projects/`project`/locations/`location``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1CreateDeploymentResourcePoolRequest] google_cloud_aiplatform_v1_create_deployment_resource_pool_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def create_project_location_deployment_resource_pool(parent, google_cloud_aiplatform_v1_create_deployment_resource_pool_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+parent}/deploymentResourcePools', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1CreateDeploymentResourcePoolRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_create_deployment_resource_pool_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['parent'] = parent unless parent.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Delete a DeploymentResourcePool.
        # @param [String] name
        #   Required. The name of the DeploymentResourcePool to delete. Format: `projects/`
        #   project`/locations/`location`/deploymentResourcePools/`
        #   deployment_resource_pool``
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_deployment_resource_pool(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Get a DeploymentResourcePool.
        # @param [String] name
        #   Required. The name of the DeploymentResourcePool to retrieve. Format: `
        #   projects/`project`/locations/`location`/deploymentResourcePools/`
        #   deployment_resource_pool``
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1DeploymentResourcePool] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1DeploymentResourcePool]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_deployment_resource_pool(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1DeploymentResourcePool::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1DeploymentResourcePool
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # List DeploymentResourcePools in a location.
        # @param [String] parent
        #   Required. The parent Location which owns this collection of
        #   DeploymentResourcePools. Format: `projects/`project`/locations/`location``
        # @param [Fixnum] page_size
        #   The maximum number of DeploymentResourcePools to return. The service may
        #   return fewer than this value.
        # @param [String] page_token
        #   A page token, received from a previous `ListDeploymentResourcePools` call.
        #   Provide this to retrieve the subsequent page. When paginating, all other
        #   parameters provided to `ListDeploymentResourcePools` must match the call that
        #   provided the page token.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListDeploymentResourcePoolsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListDeploymentResourcePoolsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_deployment_resource_pools(parent, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+parent}/deploymentResourcePools', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListDeploymentResourcePoolsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListDeploymentResourcePoolsResponse
          command.params['parent'] = parent unless parent.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Update a DeploymentResourcePool.
        # @param [String] name
        #   Immutable. The resource name of the DeploymentResourcePool. Format: `projects/`
        #   project`/locations/`location`/deploymentResourcePools/`
        #   deployment_resource_pool``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1DeploymentResourcePool] google_cloud_aiplatform_v1_deployment_resource_pool_object
        # @param [String] update_mask
        #   Required. The list of fields to update.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def patch_project_location_deployment_resource_pool(name, google_cloud_aiplatform_v1_deployment_resource_pool_object = nil, update_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:patch, 'v1/{+name}', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1DeploymentResourcePool::Representation
          command.request_object = google_cloud_aiplatform_v1_deployment_resource_pool_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['updateMask'] = update_mask unless update_mask.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # List DeployedModels that have been deployed on this DeploymentResourcePool.
        # @param [String] deployment_resource_pool
        #   Required. The name of the target DeploymentResourcePool to query. Format: `
        #   projects/`project`/locations/`location`/deploymentResourcePools/`
        #   deployment_resource_pool``
        # @param [Fixnum] page_size
        #   The maximum number of DeployedModels to return. The service may return fewer
        #   than this value.
        # @param [String] page_token
        #   A page token, received from a previous `QueryDeployedModels` call. Provide
        #   this to retrieve the subsequent page. When paginating, all other parameters
        #   provided to `QueryDeployedModels` must match the call that provided the page
        #   token.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1QueryDeployedModelsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1QueryDeployedModelsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def query_project_location_deployment_resource_pool_deployed_models(deployment_resource_pool, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+deploymentResourcePool}:queryDeployedModels', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1QueryDeployedModelsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1QueryDeployedModelsResponse
          command.params['deploymentResourcePool'] = deployment_resource_pool unless deployment_resource_pool.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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`.
        # @param [String] name
        #   The name of the operation resource to be cancelled.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def cancel_project_location_deployment_resource_pool_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:cancel', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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`.
        # @param [String] name
        #   The name of the operation resource to be deleted.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_deployment_resource_pool_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] name
        #   The name of the operation resource.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_deployment_resource_pool_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists operations that match the specified filter in the request. If the server
        # doesn't support this method, it returns `UNIMPLEMENTED`.
        # @param [String] name
        #   The name of the operation's parent resource.
        # @param [String] filter
        #   The standard list filter.
        # @param [Fixnum] page_size
        #   The standard list page size.
        # @param [String] page_token
        #   The standard list page token.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_deployment_resource_pool_operations(name, filter: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}/operations', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse
          command.params['name'] = name unless name.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] name
        #   The name of the operation resource to wait on.
        # @param [String] 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.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def wait_project_location_deployment_resource_pool_operation(name, timeout: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:wait', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['timeout'] = timeout unless timeout.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Return a list of tokens based on the input text.
        # @param [String] endpoint
        #   Required. The name of the Endpoint requested to get lists of tokens and token
        #   ids.
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ComputeTokensRequest] google_cloud_aiplatform_v1_compute_tokens_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ComputeTokensResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ComputeTokensResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def compute_project_location_endpoint_tokens(endpoint, google_cloud_aiplatform_v1_compute_tokens_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+endpoint}:computeTokens', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ComputeTokensRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_compute_tokens_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ComputeTokensResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ComputeTokensResponse
          command.params['endpoint'] = endpoint unless endpoint.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Perform a token counting.
        # @param [String] endpoint
        #   Required. The name of the Endpoint requested to perform token counting. Format:
        #   `projects/`project`/locations/`location`/endpoints/`endpoint``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1CountTokensRequest] google_cloud_aiplatform_v1_count_tokens_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1CountTokensResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1CountTokensResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def count_project_location_endpoint_tokens(endpoint, google_cloud_aiplatform_v1_count_tokens_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+endpoint}:countTokens', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1CountTokensRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_count_tokens_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1CountTokensResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1CountTokensResponse
          command.params['endpoint'] = endpoint unless endpoint.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Creates an Endpoint.
        # @param [String] parent
        #   Required. The resource name of the Location to create the Endpoint in. Format:
        #   `projects/`project`/locations/`location``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Endpoint] google_cloud_aiplatform_v1_endpoint_object
        # @param [String] endpoint_id
        #   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.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def create_project_location_endpoint(parent, google_cloud_aiplatform_v1_endpoint_object = nil, endpoint_id: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+parent}/endpoints', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Endpoint::Representation
          command.request_object = google_cloud_aiplatform_v1_endpoint_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['parent'] = parent unless parent.nil?
          command.query['endpointId'] = endpoint_id unless endpoint_id.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Deletes an Endpoint.
        # @param [String] name
        #   Required. The name of the Endpoint resource to be deleted. Format: `projects/`
        #   project`/locations/`location`/endpoints/`endpoint``
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_endpoint(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Deploys a Model into this Endpoint, creating a DeployedModel within it.
        # @param [String] endpoint
        #   Required. The name of the Endpoint resource into which to deploy a Model.
        #   Format: `projects/`project`/locations/`location`/endpoints/`endpoint``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1DeployModelRequest] google_cloud_aiplatform_v1_deploy_model_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def deploy_project_location_endpoint_model(endpoint, google_cloud_aiplatform_v1_deploy_model_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+endpoint}:deployModel', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1DeployModelRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_deploy_model_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['endpoint'] = endpoint unless endpoint.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Perform an unary online prediction request to a gRPC model server for Vertex
        # first-party products and frameworks.
        # @param [String] endpoint
        #   Required. The name of the Endpoint requested to serve the prediction. Format: `
        #   projects/`project`/locations/`location`/endpoints/`endpoint``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1DirectPredictRequest] google_cloud_aiplatform_v1_direct_predict_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1DirectPredictResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1DirectPredictResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def direct_project_location_endpoint_predict(endpoint, google_cloud_aiplatform_v1_direct_predict_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+endpoint}:directPredict', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1DirectPredictRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_direct_predict_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1DirectPredictResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1DirectPredictResponse
          command.params['endpoint'] = endpoint unless endpoint.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Perform an unary online prediction request to a gRPC model server for custom
        # containers.
        # @param [String] endpoint
        #   Required. The name of the Endpoint requested to serve the prediction. Format: `
        #   projects/`project`/locations/`location`/endpoints/`endpoint``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1DirectRawPredictRequest] google_cloud_aiplatform_v1_direct_raw_predict_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1DirectRawPredictResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1DirectRawPredictResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def direct_project_location_endpoint_raw_predict(endpoint, google_cloud_aiplatform_v1_direct_raw_predict_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+endpoint}:directRawPredict', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1DirectRawPredictRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_direct_raw_predict_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1DirectRawPredictResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1DirectRawPredictResponse
          command.params['endpoint'] = endpoint unless endpoint.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] endpoint
        #   Required. The name of the Endpoint requested to serve the explanation. Format:
        #   `projects/`project`/locations/`location`/endpoints/`endpoint``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ExplainRequest] google_cloud_aiplatform_v1_explain_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ExplainResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ExplainResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def explain_project_location_endpoint(endpoint, google_cloud_aiplatform_v1_explain_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+endpoint}:explain', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ExplainRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_explain_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ExplainResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ExplainResponse
          command.params['endpoint'] = endpoint unless endpoint.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Fetch an asynchronous online prediction operation.
        # @param [String] endpoint
        #   Required. The name of the Endpoint requested to serve the prediction. Format: `
        #   projects/`project`/locations/`location`/endpoints/`endpoint`` or `projects/`
        #   project`/locations/`location`/publishers/`publisher`/models/`model``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1FetchPredictOperationRequest] google_cloud_aiplatform_v1_fetch_predict_operation_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def fetch_project_location_endpoint_predict_operation(endpoint, google_cloud_aiplatform_v1_fetch_predict_operation_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+endpoint}:fetchPredictOperation', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1FetchPredictOperationRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_fetch_predict_operation_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['endpoint'] = endpoint unless endpoint.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Generate content with multimodal inputs.
        # @param [String] model
        #   Required. The fully qualified name of the publisher model or tuned model
        #   endpoint to use. Publisher model format: `projects/`project`/locations/`
        #   location`/publishers/*/models/*` Tuned model endpoint format: `projects/`
        #   project`/locations/`location`/endpoints/`endpoint``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1GenerateContentRequest] google_cloud_aiplatform_v1_generate_content_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1GenerateContentResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1GenerateContentResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def generate_project_location_endpoint_content(model, google_cloud_aiplatform_v1_generate_content_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+model}:generateContent', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1GenerateContentRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_generate_content_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1GenerateContentResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1GenerateContentResponse
          command.params['model'] = model unless model.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Gets an Endpoint.
        # @param [String] name
        #   Required. The name of the Endpoint resource. Format: `projects/`project`/
        #   locations/`location`/endpoints/`endpoint``
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Endpoint] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Endpoint]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_endpoint(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Endpoint::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Endpoint
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists Endpoints in a Location.
        # @param [String] parent
        #   Required. The resource name of the Location from which to list the Endpoints.
        #   Format: `projects/`project`/locations/`location``
        # @param [String] filter
        #   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"`. * `base_model_name` only supports `=`.
        #   Some examples: * `endpoint=1` * `displayName="myDisplayName"` * `labels.myKey="
        #   myValue"` * `baseModelName="text-bison"`
        # @param [String] gdc_zone
        #   Optional. Configures the Google Distributed Cloud (GDC) environment for online
        #   prediction. Only set this field when the Endpoint is to be deployed in a GDC
        #   environment.
        # @param [String] order_by
        #   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`.
        # @param [Fixnum] page_size
        #   Optional. The standard list page size.
        # @param [String] page_token
        #   Optional. The standard list page token. Typically obtained via
        #   ListEndpointsResponse.next_page_token of the previous EndpointService.
        #   ListEndpoints call.
        # @param [String] read_mask
        #   Optional. Mask specifying which fields to read.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListEndpointsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListEndpointsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_endpoints(parent, filter: nil, gdc_zone: nil, order_by: nil, page_size: nil, page_token: nil, read_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+parent}/endpoints', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListEndpointsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListEndpointsResponse
          command.params['parent'] = parent unless parent.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['gdcZone'] = gdc_zone unless gdc_zone.nil?
          command.query['orderBy'] = order_by unless order_by.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['readMask'] = read_mask unless read_mask.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Updates an existing deployed model. Updatable fields include `
        # min_replica_count`, `max_replica_count`, `required_replica_count`, `
        # autoscaling_metric_specs`, `disable_container_logging` (v1 only), and `
        # enable_container_logging` (v1beta1 only).
        # @param [String] endpoint
        #   Required. The name of the Endpoint resource into which to mutate a
        #   DeployedModel. Format: `projects/`project`/locations/`location`/endpoints/`
        #   endpoint``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1MutateDeployedModelRequest] google_cloud_aiplatform_v1_mutate_deployed_model_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def mutate_project_location_endpoint_deployed_model(endpoint, google_cloud_aiplatform_v1_mutate_deployed_model_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+endpoint}:mutateDeployedModel', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1MutateDeployedModelRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_mutate_deployed_model_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['endpoint'] = endpoint unless endpoint.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Updates an Endpoint.
        # @param [String] name
        #   Output only. The resource name of the Endpoint.
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Endpoint] google_cloud_aiplatform_v1_endpoint_object
        # @param [String] update_mask
        #   Required. The update mask applies to the resource. See google.protobuf.
        #   FieldMask.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Endpoint] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Endpoint]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def patch_project_location_endpoint(name, google_cloud_aiplatform_v1_endpoint_object = nil, update_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:patch, 'v1/{+name}', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Endpoint::Representation
          command.request_object = google_cloud_aiplatform_v1_endpoint_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Endpoint::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Endpoint
          command.params['name'] = name unless name.nil?
          command.query['updateMask'] = update_mask unless update_mask.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Perform an online prediction.
        # @param [String] endpoint
        #   Required. The name of the Endpoint requested to serve the prediction. Format: `
        #   projects/`project`/locations/`location`/endpoints/`endpoint``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1PredictRequest] google_cloud_aiplatform_v1_predict_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1PredictResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1PredictResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def predict_project_location_endpoint(endpoint, google_cloud_aiplatform_v1_predict_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+endpoint}:predict', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1PredictRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_predict_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1PredictResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1PredictResponse
          command.params['endpoint'] = endpoint unless endpoint.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 
        # @param [String] endpoint
        #   Required. The name of the Endpoint requested to serve the prediction. Format: `
        #   projects/`project`/locations/`location`/endpoints/`endpoint`` or `projects/`
        #   project`/locations/`location`/publishers/`publisher`/models/`model``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1PredictLongRunningRequest] google_cloud_aiplatform_v1_predict_long_running_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def predict_project_location_endpoint_long_running(endpoint, google_cloud_aiplatform_v1_predict_long_running_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+endpoint}:predictLongRunning', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1PredictLongRunningRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_predict_long_running_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['endpoint'] = endpoint unless endpoint.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] endpoint
        #   Required. The name of the Endpoint requested to serve the prediction. Format: `
        #   projects/`project`/locations/`location`/endpoints/`endpoint``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1RawPredictRequest] google_cloud_aiplatform_v1_raw_predict_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleApiHttpBody] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleApiHttpBody]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def raw_project_location_endpoint_predict(endpoint, google_cloud_aiplatform_v1_raw_predict_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+endpoint}:rawPredict', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1RawPredictRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_raw_predict_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleApiHttpBody::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleApiHttpBody
          command.params['endpoint'] = endpoint unless endpoint.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Perform a server-side streaming online prediction request for Vertex LLM
        # streaming.
        # @param [String] endpoint
        #   Required. The name of the Endpoint requested to serve the prediction. Format: `
        #   projects/`project`/locations/`location`/endpoints/`endpoint``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1StreamingPredictRequest] google_cloud_aiplatform_v1_streaming_predict_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1StreamingPredictResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1StreamingPredictResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def server_project_location_endpoint_streaming_predict(endpoint, google_cloud_aiplatform_v1_streaming_predict_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+endpoint}:serverStreamingPredict', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1StreamingPredictRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_streaming_predict_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1StreamingPredictResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1StreamingPredictResponse
          command.params['endpoint'] = endpoint unless endpoint.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Generate content with multimodal inputs with streaming support.
        # @param [String] model
        #   Required. The fully qualified name of the publisher model or tuned model
        #   endpoint to use. Publisher model format: `projects/`project`/locations/`
        #   location`/publishers/*/models/*` Tuned model endpoint format: `projects/`
        #   project`/locations/`location`/endpoints/`endpoint``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1GenerateContentRequest] google_cloud_aiplatform_v1_generate_content_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1GenerateContentResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1GenerateContentResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def stream_project_location_endpoint_generate_content(model, google_cloud_aiplatform_v1_generate_content_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+model}:streamGenerateContent', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1GenerateContentRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_generate_content_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1GenerateContentResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1GenerateContentResponse
          command.params['model'] = model unless model.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Perform a streaming online prediction with an arbitrary HTTP payload.
        # @param [String] endpoint
        #   Required. The name of the Endpoint requested to serve the prediction. Format: `
        #   projects/`project`/locations/`location`/endpoints/`endpoint``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1StreamRawPredictRequest] google_cloud_aiplatform_v1_stream_raw_predict_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleApiHttpBody] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleApiHttpBody]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def stream_project_location_endpoint_raw_predict(endpoint, google_cloud_aiplatform_v1_stream_raw_predict_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+endpoint}:streamRawPredict', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1StreamRawPredictRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_stream_raw_predict_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleApiHttpBody::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleApiHttpBody
          command.params['endpoint'] = endpoint unless endpoint.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Undeploys a Model from an Endpoint, removing a DeployedModel from it, and
        # freeing all resources it's using.
        # @param [String] endpoint
        #   Required. The name of the Endpoint resource from which to undeploy a Model.
        #   Format: `projects/`project`/locations/`location`/endpoints/`endpoint``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1UndeployModelRequest] google_cloud_aiplatform_v1_undeploy_model_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def undeploy_project_location_endpoint_model(endpoint, google_cloud_aiplatform_v1_undeploy_model_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+endpoint}:undeployModel', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1UndeployModelRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_undeploy_model_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['endpoint'] = endpoint unless endpoint.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Updates an Endpoint with a long running operation.
        # @param [String] name
        #   Output only. The resource name of the Endpoint.
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1UpdateEndpointLongRunningRequest] google_cloud_aiplatform_v1_update_endpoint_long_running_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def update_project_location_endpoint(name, google_cloud_aiplatform_v1_update_endpoint_long_running_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:update', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1UpdateEndpointLongRunningRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_update_endpoint_long_running_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Exposes an OpenAI-compatible endpoint for chat completions.
        # @param [String] endpoint
        #   Required. The name of the endpoint requested to serve the prediction. Format: `
        #   projects/`project`/locations/`location`/endpoints/`endpoint``
        # @param [Google::Apis::AiplatformV1::GoogleApiHttpBody] google_api_http_body_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleApiHttpBody] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleApiHttpBody]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def completions_project_location_endpoint_chat(endpoint, google_api_http_body_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+endpoint}/chat/completions', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleApiHttpBody::Representation
          command.request_object = google_api_http_body_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleApiHttpBody::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleApiHttpBody
          command.params['endpoint'] = endpoint unless endpoint.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Forwards arbitrary HTTP requests for both streaming and non-streaming cases.
        # To use this method, invoke_route_prefix must be set to allow the paths that
        # will be specified in the request.
        # @param [String] endpoint
        #   Required. The name of the Endpoint requested to serve the prediction. Format: `
        #   projects/`project`/locations/`location`/endpoints/`endpoint``
        # @param [String] deployed_model_id
        #   ID of the DeployedModel that serves the invoke request.
        # @param [String] invoke_id
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1InvokeRequest] google_cloud_aiplatform_v1_invoke_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleApiHttpBody] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleApiHttpBody]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def invoke_project_location_endpoint_deployed_model_invoke(endpoint, deployed_model_id, invoke_id, google_cloud_aiplatform_v1_invoke_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+endpoint}/deployedModels/{deployedModelId}/invoke/{+invokeId}', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1InvokeRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_invoke_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleApiHttpBody::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleApiHttpBody
          command.params['endpoint'] = endpoint unless endpoint.nil?
          command.params['deployedModelId'] = deployed_model_id unless deployed_model_id.nil?
          command.params['invokeId'] = invoke_id unless invoke_id.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Forwards arbitrary HTTP requests for both streaming and non-streaming cases.
        # To use this method, invoke_route_prefix must be set to allow the paths that
        # will be specified in the request.
        # @param [String] endpoint
        #   Required. The name of the Endpoint requested to serve the prediction. Format: `
        #   projects/`project`/locations/`location`/endpoints/`endpoint``
        # @param [String] invoke_id
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1InvokeRequest] google_cloud_aiplatform_v1_invoke_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleApiHttpBody] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleApiHttpBody]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def invoke_project_location_endpoint_invoke(endpoint, invoke_id, google_cloud_aiplatform_v1_invoke_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+endpoint}/invoke/{+invokeId}', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1InvokeRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_invoke_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleApiHttpBody::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleApiHttpBody
          command.params['endpoint'] = endpoint unless endpoint.nil?
          command.params['invokeId'] = invoke_id unless invoke_id.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Forwards arbitrary HTTP requests for both streaming and non-streaming cases.
        # To use this method, invoke_route_prefix must be set to allow the paths that
        # will be specified in the request.
        # @param [String] endpoint
        #   Required. The name of the Endpoint requested to serve the prediction. Format: `
        #   projects/`project`/locations/`location`/endpoints/`endpoint``
        # @param [Google::Apis::AiplatformV1::GoogleApiHttpBody] google_api_http_body_object
        # @param [String] deployed_model_id
        #   ID of the DeployedModel that serves the invoke request.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleApiHttpBody] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleApiHttpBody]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def embeddings_project_location_endpoint_openapi(endpoint, google_api_http_body_object = nil, deployed_model_id: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+endpoint}/embeddings', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleApiHttpBody::Representation
          command.request_object = google_api_http_body_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleApiHttpBody::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleApiHttpBody
          command.params['endpoint'] = endpoint unless endpoint.nil?
          command.query['deployedModelId'] = deployed_model_id unless deployed_model_id.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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`.
        # @param [String] name
        #   The name of the operation resource to be cancelled.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def cancel_project_location_endpoint_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:cancel', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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`.
        # @param [String] name
        #   The name of the operation resource to be deleted.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_endpoint_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] name
        #   The name of the operation resource.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_endpoint_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists operations that match the specified filter in the request. If the server
        # doesn't support this method, it returns `UNIMPLEMENTED`.
        # @param [String] name
        #   The name of the operation's parent resource.
        # @param [String] filter
        #   The standard list filter.
        # @param [Fixnum] page_size
        #   The standard list page size.
        # @param [String] page_token
        #   The standard list page token.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_endpoint_operations(name, filter: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}/operations', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse
          command.params['name'] = name unless name.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] name
        #   The name of the operation resource to wait on.
        # @param [String] 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.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def wait_project_location_endpoint_operation(name, timeout: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:wait', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['timeout'] = timeout unless timeout.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Creates an Evaluation Item.
        # @param [String] parent
        #   Required. The resource name of the Location to create the Evaluation Item in.
        #   Format: `projects/`project`/locations/`location``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1EvaluationItem] google_cloud_aiplatform_v1_evaluation_item_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1EvaluationItem] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1EvaluationItem]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def create_project_location_evaluation_item(parent, google_cloud_aiplatform_v1_evaluation_item_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+parent}/evaluationItems', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1EvaluationItem::Representation
          command.request_object = google_cloud_aiplatform_v1_evaluation_item_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1EvaluationItem::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1EvaluationItem
          command.params['parent'] = parent unless parent.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Deletes an Evaluation Item.
        # @param [String] name
        #   Required. The name of the EvaluationItem resource to be deleted. Format: `
        #   projects/`project`/locations/`location`/evaluationItems/`evaluation_item``
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_evaluation_item(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Gets an Evaluation Item.
        # @param [String] name
        #   Required. The name of the EvaluationItem resource. Format: `projects/`project`/
        #   locations/`location`/evaluationItems/`evaluation_item``
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1EvaluationItem] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1EvaluationItem]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_evaluation_item(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1EvaluationItem::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1EvaluationItem
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists Evaluation Items.
        # @param [String] parent
        #   Required. The resource name of the Location from which to list the Evaluation
        #   Items. Format: `projects/`project`/locations/`location``
        # @param [String] filter
        #   Optional. Filter expression that matches a subset of the EvaluationItems to
        #   show. For field names both snake_case and camelCase are supported. For more
        #   information about filter syntax, see [AIP-160](https://google.aip.dev/160).
        # @param [String] order_by
        #   Optional. A comma-separated list of fields to order by, sorted in ascending
        #   order by default. Use `desc` after a field name for descending.
        # @param [Fixnum] page_size
        #   Optional. The maximum number of Evaluation Items to return.
        # @param [String] page_token
        #   Optional. A page token, received from a previous `ListEvaluationItems` call.
        #   Provide this to retrieve the subsequent page.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListEvaluationItemsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListEvaluationItemsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_evaluation_items(parent, filter: nil, order_by: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+parent}/evaluationItems', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListEvaluationItemsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListEvaluationItemsResponse
          command.params['parent'] = parent unless parent.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['orderBy'] = order_by unless order_by.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Cancels an Evaluation Run. Attempts to cancel a running Evaluation Run
        # asynchronously. Status of run can be checked via GetEvaluationRun.
        # @param [String] name
        #   Required. The name of the EvaluationRun resource to be cancelled. Format: `
        #   projects/`project`/locations/`location`/evaluationRuns/`evaluation_run``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1CancelEvaluationRunRequest] google_cloud_aiplatform_v1_cancel_evaluation_run_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def cancel_project_location_evaluation_run(name, google_cloud_aiplatform_v1_cancel_evaluation_run_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:cancel', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1CancelEvaluationRunRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_cancel_evaluation_run_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Creates an Evaluation Run.
        # @param [String] parent
        #   Required. The resource name of the Location to create the Evaluation Run in.
        #   Format: `projects/`project`/locations/`location``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1EvaluationRun] google_cloud_aiplatform_v1_evaluation_run_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1EvaluationRun] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1EvaluationRun]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def create_project_location_evaluation_run(parent, google_cloud_aiplatform_v1_evaluation_run_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+parent}/evaluationRuns', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1EvaluationRun::Representation
          command.request_object = google_cloud_aiplatform_v1_evaluation_run_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1EvaluationRun::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1EvaluationRun
          command.params['parent'] = parent unless parent.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Deletes an Evaluation Run.
        # @param [String] name
        #   Required. The name of the EvaluationRun resource to be deleted. Format: `
        #   projects/`project`/locations/`location`/evaluationRuns/`evaluation_run``
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_evaluation_run(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Gets an Evaluation Run.
        # @param [String] name
        #   Required. The name of the EvaluationRun resource. Format: `projects/`project`/
        #   locations/`location`/evaluationRuns/`evaluation_run``
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1EvaluationRun] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1EvaluationRun]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_evaluation_run(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1EvaluationRun::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1EvaluationRun
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists Evaluation Runs.
        # @param [String] parent
        #   Required. The resource name of the Location from which to list the Evaluation
        #   Runs. Format: `projects/`project`/locations/`location``
        # @param [String] filter
        #   Optional. Filter expression that matches a subset of the EvaluationRuns to
        #   show. For field names both snake_case and camelCase are supported. For more
        #   information about filter syntax, see [AIP-160](https://google.aip.dev/160).
        # @param [String] order_by
        #   Optional. A comma-separated list of fields to order by, sorted in ascending
        #   order by default. Use `desc` after a field name for descending.
        # @param [Fixnum] page_size
        #   Optional. The maximum number of Evaluation Runs to return.
        # @param [String] page_token
        #   Optional. A page token, received from a previous `ListEvaluationRuns` call.
        #   Provide this to retrieve the subsequent page.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListEvaluationRunsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListEvaluationRunsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_evaluation_runs(parent, filter: nil, order_by: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+parent}/evaluationRuns', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListEvaluationRunsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListEvaluationRunsResponse
          command.params['parent'] = parent unless parent.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['orderBy'] = order_by unless order_by.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Creates an Evaluation Set.
        # @param [String] parent
        #   Required. The resource name of the Location to create the Evaluation Set in.
        #   Format: `projects/`project`/locations/`location``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1EvaluationSet] google_cloud_aiplatform_v1_evaluation_set_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1EvaluationSet] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1EvaluationSet]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def create_project_location_evaluation_set(parent, google_cloud_aiplatform_v1_evaluation_set_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+parent}/evaluationSets', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1EvaluationSet::Representation
          command.request_object = google_cloud_aiplatform_v1_evaluation_set_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1EvaluationSet::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1EvaluationSet
          command.params['parent'] = parent unless parent.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Deletes an Evaluation Set.
        # @param [String] name
        #   Required. The name of the EvaluationSet resource to be deleted. Format: `
        #   projects/`project`/locations/`location`/evaluationSets/`evaluation_set``
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_evaluation_set(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Gets an Evaluation Set.
        # @param [String] name
        #   Required. The name of the EvaluationSet resource. Format: `projects/`project`/
        #   locations/`location`/evaluationSets/`evaluation_set``
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1EvaluationSet] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1EvaluationSet]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_evaluation_set(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1EvaluationSet::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1EvaluationSet
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists Evaluation Sets.
        # @param [String] parent
        #   Required. The resource name of the Location from which to list the Evaluation
        #   Sets. Format: `projects/`project`/locations/`location``
        # @param [String] filter
        #   Optional. Filter expression that matches a subset of the EvaluationSets to
        #   show. For field names both snake_case and camelCase are supported. For more
        #   information about filter syntax, see [AIP-160](https://google.aip.dev/160).
        # @param [String] order_by
        #   Optional. A comma-separated list of fields to order by, sorted in ascending
        #   order by default. Use `desc` after a field name for descending.
        # @param [Fixnum] page_size
        #   Optional. The maximum number of Evaluation Sets to return.
        # @param [String] page_token
        #   Optional. A page token, received from a previous `ListEvaluationSets` call.
        #   Provide this to retrieve the subsequent page.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListEvaluationSetsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListEvaluationSetsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_evaluation_sets(parent, filter: nil, order_by: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+parent}/evaluationSets', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListEvaluationSetsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListEvaluationSetsResponse
          command.params['parent'] = parent unless parent.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['orderBy'] = order_by unless order_by.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Updates an Evaluation Set.
        # @param [String] name
        #   Identifier. The resource name of the EvaluationSet. Format: `projects/`project`
        #   /locations/`location`/evaluationSets/`evaluation_set``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1EvaluationSet] google_cloud_aiplatform_v1_evaluation_set_object
        # @param [String] update_mask
        #   Optional. The update mask applies to the resource. For the `FieldMask`
        #   definition, see google.protobuf.FieldMask.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1EvaluationSet] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1EvaluationSet]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def patch_project_location_evaluation_set(name, google_cloud_aiplatform_v1_evaluation_set_object = nil, update_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:patch, 'v1/{+name}', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1EvaluationSet::Representation
          command.request_object = google_cloud_aiplatform_v1_evaluation_set_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1EvaluationSet::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1EvaluationSet
          command.params['name'] = name unless name.nil?
          command.query['updateMask'] = update_mask unless update_mask.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Creates a new FeatureGroup in a given project and location.
        # @param [String] parent
        #   Required. The resource name of the Location to create FeatureGroups. Format: `
        #   projects/`project`/locations/`location``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1FeatureGroup] google_cloud_aiplatform_v1_feature_group_object
        # @param [String] feature_group_id
        #   Required. The ID to use for this FeatureGroup, which will become the final
        #   component of the FeatureGroup's resource name. This value may be up to 128
        #   characters, and valid characters are `[a-z0-9_]`. The first character cannot
        #   be a number. The value must be unique within the project and location.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def create_project_location_feature_group(parent, google_cloud_aiplatform_v1_feature_group_object = nil, feature_group_id: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+parent}/featureGroups', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1FeatureGroup::Representation
          command.request_object = google_cloud_aiplatform_v1_feature_group_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['parent'] = parent unless parent.nil?
          command.query['featureGroupId'] = feature_group_id unless feature_group_id.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Deletes a single FeatureGroup.
        # @param [String] name
        #   Required. The name of the FeatureGroup to be deleted. Format: `projects/`
        #   project`/locations/`location`/featureGroups/`feature_group``
        # @param [Boolean] force
        #   If set to true, any Features under this FeatureGroup will also be deleted. (
        #   Otherwise, the request will only work if the FeatureGroup has no Features.)
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_feature_group(name, force: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['force'] = force unless force.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Gets details of a single FeatureGroup.
        # @param [String] name
        #   Required. The name of the FeatureGroup resource.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1FeatureGroup] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1FeatureGroup]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_feature_group(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1FeatureGroup::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1FeatureGroup
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Gets the access control policy for a resource. Returns an empty policy if the
        # resource exists and does not have a policy set.
        # @param [String] 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.
        # @param [Fixnum] options_requested_policy_version
        #   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).
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleIamV1Policy] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleIamV1Policy]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_feature_group_iam_policy(resource, options_requested_policy_version: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+resource}:getIamPolicy', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleIamV1Policy::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleIamV1Policy
          command.params['resource'] = resource unless resource.nil?
          command.query['options.requestedPolicyVersion'] = options_requested_policy_version unless options_requested_policy_version.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists FeatureGroups in a given project and location.
        # @param [String] parent
        #   Required. The resource name of the Location to list FeatureGroups. Format: `
        #   projects/`project`/locations/`location``
        # @param [String] filter
        #   Lists the FeatureGroups that match the filter expression. The following fields
        #   are supported: * `create_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=`
        #   comparisons. Values must be in RFC 3339 format. * `update_time`: Supports `=`,
        #   `!=`, `<`, `>`, `<=`, and `>=` comparisons. Values must be in RFC 3339 format.
        #   * `labels`: Supports key-value equality and key presence. Examples: * `
        #   create_time > "2020-01-01" OR update_time > "2020-01-01"` FeatureGroups
        #   created or updated after 2020-01-01. * `labels.env = "prod"` FeatureGroups
        #   with label "env" set to "prod".
        # @param [String] order_by
        #   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`
        # @param [Fixnum] page_size
        #   The maximum number of FeatureGroups to return. The service may return fewer
        #   than this value. If unspecified, at most 100 FeatureGroups will be returned.
        #   The maximum value is 100; any value greater than 100 will be coerced to 100.
        # @param [String] page_token
        #   A page token, received from a previous FeatureRegistryService.
        #   ListFeatureGroups call. Provide this to retrieve the subsequent page. When
        #   paginating, all other parameters provided to FeatureRegistryService.
        #   ListFeatureGroups must match the call that provided the page token.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListFeatureGroupsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListFeatureGroupsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_feature_groups(parent, filter: nil, order_by: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+parent}/featureGroups', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListFeatureGroupsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListFeatureGroupsResponse
          command.params['parent'] = parent unless parent.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['orderBy'] = order_by unless order_by.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Updates the parameters of a single FeatureGroup.
        # @param [String] name
        #   Identifier. Name of the FeatureGroup. Format: `projects/`project`/locations/`
        #   location`/featureGroups/`featureGroup``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1FeatureGroup] google_cloud_aiplatform_v1_feature_group_object
        # @param [String] update_mask
        #   Field mask is used to specify the fields to be overwritten in the FeatureGroup
        #   resource by the update. The fields specified in the update_mask are relative
        #   to the resource, not the full request. A field will be overwritten if it is in
        #   the mask. If the user does not provide a mask then only the non-empty fields
        #   present in the request will be overwritten. Set the update_mask to `*` to
        #   override all fields. Updatable fields: * `labels` * `description` * `big_query`
        #   * `big_query.entity_id_columns` * `service_agent_type`
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def patch_project_location_feature_group(name, google_cloud_aiplatform_v1_feature_group_object = nil, update_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:patch, 'v1/{+name}', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1FeatureGroup::Representation
          command.request_object = google_cloud_aiplatform_v1_feature_group_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['updateMask'] = update_mask unless update_mask.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Sets the access control policy on the specified resource. Replaces any
        # existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `
        # PERMISSION_DENIED` errors.
        # @param [String] 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.
        # @param [Google::Apis::AiplatformV1::GoogleIamV1SetIamPolicyRequest] google_iam_v1_set_iam_policy_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleIamV1Policy] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleIamV1Policy]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def set_project_location_feature_group_iam_policy(resource, google_iam_v1_set_iam_policy_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+resource}:setIamPolicy', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleIamV1SetIamPolicyRequest::Representation
          command.request_object = google_iam_v1_set_iam_policy_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleIamV1Policy::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleIamV1Policy
          command.params['resource'] = resource unless resource.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] 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.
        # @param [Array<String>, String] 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).
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleIamV1TestIamPermissionsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleIamV1TestIamPermissionsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def test_project_location_feature_group_iam_permissions(resource, permissions: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+resource}:testIamPermissions', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleIamV1TestIamPermissionsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleIamV1TestIamPermissionsResponse
          command.params['resource'] = resource unless resource.nil?
          command.query['permissions'] = permissions unless permissions.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Creates a batch of Features in a given FeatureGroup.
        # @param [String] parent
        #   Required. The resource name of the EntityType/FeatureGroup to create the batch
        #   of Features under. Format: `projects/`project`/locations/`location`/
        #   featurestores/`featurestore`/entityTypes/`entity_type`` `projects/`project`/
        #   locations/`location`/featureGroups/`feature_group``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1BatchCreateFeaturesRequest] google_cloud_aiplatform_v1_batch_create_features_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def batch_project_location_feature_group_feature_create(parent, google_cloud_aiplatform_v1_batch_create_features_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+parent}/features:batchCreate', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1BatchCreateFeaturesRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_batch_create_features_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['parent'] = parent unless parent.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Creates a new Feature in a given FeatureGroup.
        # @param [String] parent
        #   Required. The resource name of the EntityType or FeatureGroup to create a
        #   Feature. Format for entity_type as parent: `projects/`project`/locations/`
        #   location`/featurestores/`featurestore`/entityTypes/`entity_type`` Format for
        #   feature_group as parent: `projects/`project`/locations/`location`/
        #   featureGroups/`feature_group``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Feature] google_cloud_aiplatform_v1_feature_object
        # @param [String] feature_id
        #   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.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def create_project_location_feature_group_feature(parent, google_cloud_aiplatform_v1_feature_object = nil, feature_id: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+parent}/features', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Feature::Representation
          command.request_object = google_cloud_aiplatform_v1_feature_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['parent'] = parent unless parent.nil?
          command.query['featureId'] = feature_id unless feature_id.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Deletes a single Feature.
        # @param [String] name
        #   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``
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_feature_group_feature(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Gets details of a single Feature.
        # @param [String] name
        #   Required. The name of the Feature resource. Format for entity_type as parent: `
        #   projects/`project`/locations/`location`/featurestores/`featurestore`/
        #   entityTypes/`entity_type`` Format for feature_group as parent: `projects/`
        #   project`/locations/`location`/featureGroups/`feature_group``
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Feature] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Feature]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_feature_group_feature(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Feature::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Feature
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists Features in a given FeatureGroup.
        # @param [String] parent
        #   Required. The resource name of the Location to list Features. Format for
        #   entity_type as parent: `projects/`project`/locations/`location`/featurestores/`
        #   featurestore`/entityTypes/`entity_type`` Format for feature_group as parent: `
        #   projects/`project`/locations/`location`/featureGroups/`feature_group``
        # @param [String] 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.
        # @param [Fixnum] latest_stats_count
        #   Only applicable for Vertex AI Feature Store (Legacy). If set, return the most
        #   recent ListFeaturesRequest.latest_stats_count of stats for each Feature in
        #   response. Valid value is [0, 10]. If number of stats exists <
        #   ListFeaturesRequest.latest_stats_count, return all existing stats.
        # @param [String] order_by
        #   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`
        # @param [Fixnum] page_size
        #   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.
        # @param [String] page_token
        #   A page token, received from a previous FeaturestoreService.ListFeatures call
        #   or FeatureRegistryService.ListFeatures call. Provide this to retrieve the
        #   subsequent page. When paginating, all other parameters provided to
        #   FeaturestoreService.ListFeatures or FeatureRegistryService.ListFeatures must
        #   match the call that provided the page token.
        # @param [String] read_mask
        #   Mask specifying which fields to read.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListFeaturesResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListFeaturesResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_feature_group_features(parent, filter: nil, latest_stats_count: nil, order_by: nil, page_size: nil, page_token: nil, read_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+parent}/features', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListFeaturesResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListFeaturesResponse
          command.params['parent'] = parent unless parent.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['latestStatsCount'] = latest_stats_count unless latest_stats_count.nil?
          command.query['orderBy'] = order_by unless order_by.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['readMask'] = read_mask unless read_mask.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Updates the parameters of a single Feature.
        # @param [String] name
        #   Immutable. Name of the Feature. Format: `projects/`project`/locations/`
        #   location`/featurestores/`featurestore`/entityTypes/`entity_type`/features/`
        #   feature`` `projects/`project`/locations/`location`/featureGroups/`
        #   feature_group`/features/`feature`` The last part feature is assigned by the
        #   client. The feature can be up to 64 characters long and can consist only of
        #   ASCII Latin letters A-Z and a-z, underscore(_), and ASCII digits 0-9 starting
        #   with a letter. The value will be unique given an entity type.
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Feature] google_cloud_aiplatform_v1_feature_object
        # @param [String] update_mask
        #   Field mask is used to specify the fields to be overwritten in the Features
        #   resource by the update. The fields specified in the update_mask are relative
        #   to the resource, not the full request. A field will be overwritten if it is in
        #   the mask. If the user does not provide a mask then only the non-empty fields
        #   present in the request will be overwritten. Set the update_mask to `*` to
        #   override all fields. Updatable fields: * `description` * `labels` * `
        #   disable_monitoring` (Not supported for FeatureRegistryService Feature) * `
        #   point_of_contact` (Not supported for FeaturestoreService FeatureStore)
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def patch_project_location_feature_group_feature(name, google_cloud_aiplatform_v1_feature_object = nil, update_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:patch, 'v1/{+name}', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Feature::Representation
          command.request_object = google_cloud_aiplatform_v1_feature_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['updateMask'] = update_mask unless update_mask.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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`.
        # @param [String] name
        #   The name of the operation resource to be deleted.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_feature_group_feature_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] name
        #   The name of the operation resource.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_feature_group_feature_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists operations that match the specified filter in the request. If the server
        # doesn't support this method, it returns `UNIMPLEMENTED`.
        # @param [String] name
        #   The name of the operation's parent resource.
        # @param [String] filter
        #   The standard list filter.
        # @param [Fixnum] page_size
        #   The standard list page size.
        # @param [String] page_token
        #   The standard list page token.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_feature_group_feature_operation_wait(name, filter: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}:wait', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse
          command.params['name'] = name unless name.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] name
        #   The name of the operation resource to wait on.
        # @param [String] 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.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def wait_project_location_feature_group_feature_operation(name, timeout: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:wait', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['timeout'] = timeout unless timeout.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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`.
        # @param [String] name
        #   The name of the operation resource to be deleted.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_feature_group_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] name
        #   The name of the operation resource.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_feature_group_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists operations that match the specified filter in the request. If the server
        # doesn't support this method, it returns `UNIMPLEMENTED`.
        # @param [String] name
        #   The name of the operation's parent resource.
        # @param [String] filter
        #   The standard list filter.
        # @param [Fixnum] page_size
        #   The standard list page size.
        # @param [String] page_token
        #   The standard list page token.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_feature_group_operation_wait(name, filter: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}:wait', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse
          command.params['name'] = name unless name.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] name
        #   The name of the operation resource to wait on.
        # @param [String] 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.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def wait_project_location_feature_group_operation(name, timeout: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:wait', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['timeout'] = timeout unless timeout.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Creates a new FeatureOnlineStore in a given project and location.
        # @param [String] parent
        #   Required. The resource name of the Location to create FeatureOnlineStores.
        #   Format: `projects/`project`/locations/`location``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1FeatureOnlineStore] google_cloud_aiplatform_v1_feature_online_store_object
        # @param [String] feature_online_store_id
        #   Required. The ID to use for this FeatureOnlineStore, which will become the
        #   final component of the FeatureOnlineStore's resource name. This value may be
        #   up to 60 characters, and valid characters are `[a-z0-9_]`. The first character
        #   cannot be a number. The value must be unique within the project and location.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def create_project_location_feature_online_store(parent, google_cloud_aiplatform_v1_feature_online_store_object = nil, feature_online_store_id: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+parent}/featureOnlineStores', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1FeatureOnlineStore::Representation
          command.request_object = google_cloud_aiplatform_v1_feature_online_store_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['parent'] = parent unless parent.nil?
          command.query['featureOnlineStoreId'] = feature_online_store_id unless feature_online_store_id.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Deletes a single FeatureOnlineStore. The FeatureOnlineStore must not contain
        # any FeatureViews.
        # @param [String] name
        #   Required. The name of the FeatureOnlineStore to be deleted. Format: `projects/`
        #   project`/locations/`location`/featureOnlineStores/`feature_online_store``
        # @param [Boolean] force
        #   If set to true, any FeatureViews and Features for this FeatureOnlineStore will
        #   also be deleted. (Otherwise, the request will only work if the
        #   FeatureOnlineStore has no FeatureViews.)
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_feature_online_store(name, force: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['force'] = force unless force.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Gets details of a single FeatureOnlineStore.
        # @param [String] name
        #   Required. The name of the FeatureOnlineStore resource.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1FeatureOnlineStore] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1FeatureOnlineStore]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_feature_online_store(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1FeatureOnlineStore::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1FeatureOnlineStore
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Gets the access control policy for a resource. Returns an empty policy if the
        # resource exists and does not have a policy set.
        # @param [String] 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.
        # @param [Fixnum] options_requested_policy_version
        #   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).
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleIamV1Policy] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleIamV1Policy]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_feature_online_store_iam_policy(resource, options_requested_policy_version: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+resource}:getIamPolicy', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleIamV1Policy::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleIamV1Policy
          command.params['resource'] = resource unless resource.nil?
          command.query['options.requestedPolicyVersion'] = options_requested_policy_version unless options_requested_policy_version.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists FeatureOnlineStores in a given project and location.
        # @param [String] parent
        #   Required. The resource name of the Location to list FeatureOnlineStores.
        #   Format: `projects/`project`/locations/`location``
        # @param [String] filter
        #   Lists the FeatureOnlineStores that match the filter expression. The following
        #   fields are supported: * `create_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and
        #   `>=` comparisons. Values must be in RFC 3339 format. * `update_time`: Supports
        #   `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. Values must be in RFC 3339
        #   format. * `labels`: Supports key-value equality and key presence. Examples: * `
        #   create_time > "2020-01-01" OR update_time > "2020-01-01"` FeatureOnlineStores
        #   created or updated after 2020-01-01. * `labels.env = "prod"`
        #   FeatureOnlineStores with label "env" set to "prod".
        # @param [String] order_by
        #   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`
        # @param [Fixnum] page_size
        #   The maximum number of FeatureOnlineStores to return. The service may return
        #   fewer than this value. If unspecified, at most 100 FeatureOnlineStores will be
        #   returned. The maximum value is 100; any value greater than 100 will be coerced
        #   to 100.
        # @param [String] page_token
        #   A page token, received from a previous FeatureOnlineStoreAdminService.
        #   ListFeatureOnlineStores call. Provide this to retrieve the subsequent page.
        #   When paginating, all other parameters provided to
        #   FeatureOnlineStoreAdminService.ListFeatureOnlineStores must match the call
        #   that provided the page token.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListFeatureOnlineStoresResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListFeatureOnlineStoresResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_feature_online_stores(parent, filter: nil, order_by: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+parent}/featureOnlineStores', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListFeatureOnlineStoresResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListFeatureOnlineStoresResponse
          command.params['parent'] = parent unless parent.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['orderBy'] = order_by unless order_by.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Updates the parameters of a single FeatureOnlineStore.
        # @param [String] name
        #   Identifier. Name of the FeatureOnlineStore. Format: `projects/`project`/
        #   locations/`location`/featureOnlineStores/`featureOnlineStore``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1FeatureOnlineStore] google_cloud_aiplatform_v1_feature_online_store_object
        # @param [String] update_mask
        #   Field mask is used to specify the fields to be overwritten in the
        #   FeatureOnlineStore resource by the update. The fields specified in the
        #   update_mask are relative to the resource, not the full request. A field will
        #   be overwritten if it is in the mask. If the user does not provide a mask then
        #   only the non-empty fields present in the request will be overwritten. Set the
        #   update_mask to `*` to override all fields. Updatable fields: * `labels` * `
        #   description` * `bigtable` * `bigtable.auto_scaling` * `bigtable.
        #   enable_multi_region_replica`
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def patch_project_location_feature_online_store(name, google_cloud_aiplatform_v1_feature_online_store_object = nil, update_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:patch, 'v1/{+name}', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1FeatureOnlineStore::Representation
          command.request_object = google_cloud_aiplatform_v1_feature_online_store_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['updateMask'] = update_mask unless update_mask.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Sets the access control policy on the specified resource. Replaces any
        # existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `
        # PERMISSION_DENIED` errors.
        # @param [String] 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.
        # @param [Google::Apis::AiplatformV1::GoogleIamV1SetIamPolicyRequest] google_iam_v1_set_iam_policy_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleIamV1Policy] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleIamV1Policy]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def set_project_location_feature_online_store_iam_policy(resource, google_iam_v1_set_iam_policy_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+resource}:setIamPolicy', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleIamV1SetIamPolicyRequest::Representation
          command.request_object = google_iam_v1_set_iam_policy_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleIamV1Policy::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleIamV1Policy
          command.params['resource'] = resource unless resource.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] 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.
        # @param [Array<String>, String] 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).
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleIamV1TestIamPermissionsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleIamV1TestIamPermissionsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def test_project_location_feature_online_store_iam_permissions(resource, permissions: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+resource}:testIamPermissions', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleIamV1TestIamPermissionsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleIamV1TestIamPermissionsResponse
          command.params['resource'] = resource unless resource.nil?
          command.query['permissions'] = permissions unless permissions.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Creates a new FeatureView in a given FeatureOnlineStore.
        # @param [String] parent
        #   Required. The resource name of the FeatureOnlineStore to create FeatureViews.
        #   Format: `projects/`project`/locations/`location`/featureOnlineStores/`
        #   feature_online_store``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1FeatureView] google_cloud_aiplatform_v1_feature_view_object
        # @param [String] feature_view_id
        #   Required. The ID to use for the FeatureView, which will become the final
        #   component of the FeatureView's resource name. This value may be up to 60
        #   characters, and valid characters are `[a-z0-9_]`. The first character cannot
        #   be a number. The value must be unique within a FeatureOnlineStore.
        # @param [Boolean] run_sync_immediately
        #   Immutable. If set to true, one on demand sync will be run immediately,
        #   regardless whether the FeatureView.sync_config is configured or not.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def create_project_location_feature_online_store_feature_view(parent, google_cloud_aiplatform_v1_feature_view_object = nil, feature_view_id: nil, run_sync_immediately: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+parent}/featureViews', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1FeatureView::Representation
          command.request_object = google_cloud_aiplatform_v1_feature_view_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['parent'] = parent unless parent.nil?
          command.query['featureViewId'] = feature_view_id unless feature_view_id.nil?
          command.query['runSyncImmediately'] = run_sync_immediately unless run_sync_immediately.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Deletes a single FeatureView.
        # @param [String] name
        #   Required. The name of the FeatureView to be deleted. Format: `projects/`
        #   project`/locations/`location`/featureOnlineStores/`feature_online_store`/
        #   featureViews/`feature_view``
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_feature_online_store_feature_view(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Bidirectional streaming RPC to directly write to feature values in a feature
        # view. Requests may not have a one-to-one mapping to responses and responses
        # may be returned out-of-order to reduce latency.
        # @param [String] feature_view
        #   FeatureView resource format `projects/`project`/locations/`location`/
        #   featureOnlineStores/`featureOnlineStore`/featureViews/`featureView``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1FeatureViewDirectWriteRequest] google_cloud_aiplatform_v1_feature_view_direct_write_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1FeatureViewDirectWriteResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1FeatureViewDirectWriteResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def direct_project_location_feature_online_store_feature_view_write(feature_view, google_cloud_aiplatform_v1_feature_view_direct_write_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+featureView}:directWrite', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1FeatureViewDirectWriteRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_feature_view_direct_write_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1FeatureViewDirectWriteResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1FeatureViewDirectWriteResponse
          command.params['featureView'] = feature_view unless feature_view.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Fetch feature values under a FeatureView.
        # @param [String] feature_view
        #   Required. FeatureView resource format `projects/`project`/locations/`location`/
        #   featureOnlineStores/`featureOnlineStore`/featureViews/`featureView``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1FetchFeatureValuesRequest] google_cloud_aiplatform_v1_fetch_feature_values_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1FetchFeatureValuesResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1FetchFeatureValuesResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def fetch_project_location_feature_online_store_feature_view_feature_values(feature_view, google_cloud_aiplatform_v1_fetch_feature_values_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+featureView}:fetchFeatureValues', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1FetchFeatureValuesRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_fetch_feature_values_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1FetchFeatureValuesResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1FetchFeatureValuesResponse
          command.params['featureView'] = feature_view unless feature_view.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Gets details of a single FeatureView.
        # @param [String] name
        #   Required. The name of the FeatureView resource. Format: `projects/`project`/
        #   locations/`location`/featureOnlineStores/`feature_online_store`/featureViews/`
        #   feature_view``
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1FeatureView] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1FeatureView]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_feature_online_store_feature_view(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1FeatureView::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1FeatureView
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Gets the access control policy for a resource. Returns an empty policy if the
        # resource exists and does not have a policy set.
        # @param [String] 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.
        # @param [Fixnum] options_requested_policy_version
        #   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).
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleIamV1Policy] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleIamV1Policy]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_feature_online_store_feature_view_iam_policy(resource, options_requested_policy_version: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+resource}:getIamPolicy', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleIamV1Policy::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleIamV1Policy
          command.params['resource'] = resource unless resource.nil?
          command.query['options.requestedPolicyVersion'] = options_requested_policy_version unless options_requested_policy_version.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists FeatureViews in a given FeatureOnlineStore.
        # @param [String] parent
        #   Required. The resource name of the FeatureOnlineStore to list FeatureViews.
        #   Format: `projects/`project`/locations/`location`/featureOnlineStores/`
        #   feature_online_store``
        # @param [String] filter
        #   Lists the FeatureViews that match the filter expression. The following filters
        #   are supported: * `create_time`: Supports `=`, `!=`, `<`, `>`, `>=`, and `<=`
        #   comparisons. Values must be in RFC 3339 format. * `update_time`: Supports `=`,
        #   `!=`, `<`, `>`, `>=`, and `<=` comparisons. Values must be in RFC 3339 format.
        #   * `labels`: Supports key-value equality as well as key presence. Examples: * `
        #   create_time > \"2020-01-31T15:30:00.000000Z\" OR update_time > \"2020-01-31T15:
        #   30:00.000000Z\"` --> FeatureViews created or updated after 2020-01-31T15:30:00.
        #   000000Z. * `labels.active = yes AND labels.env = prod` --> FeatureViews having
        #   both (active: yes) and (env: prod) labels. * `labels.env: *` --> Any
        #   FeatureView which has a label with 'env' as the key.
        # @param [String] order_by
        #   A comma-separated list of fields to order by, sorted in ascending order. Use "
        #   desc" after a field name for descending. Supported fields: * `feature_view_id`
        #   * `create_time` * `update_time`
        # @param [Fixnum] page_size
        #   The maximum number of FeatureViews to return. The service may return fewer
        #   than this value. If unspecified, at most 1000 FeatureViews will be returned.
        #   The maximum value is 1000; any value greater than 1000 will be coerced to 1000.
        # @param [String] page_token
        #   A page token, received from a previous FeatureOnlineStoreAdminService.
        #   ListFeatureViews call. Provide this to retrieve the subsequent page. When
        #   paginating, all other parameters provided to FeatureOnlineStoreAdminService.
        #   ListFeatureViews must match the call that provided the page token.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListFeatureViewsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListFeatureViewsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_feature_online_store_feature_views(parent, filter: nil, order_by: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+parent}/featureViews', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListFeatureViewsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListFeatureViewsResponse
          command.params['parent'] = parent unless parent.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['orderBy'] = order_by unless order_by.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Updates the parameters of a single FeatureView.
        # @param [String] name
        #   Identifier. Name of the FeatureView. Format: `projects/`project`/locations/`
        #   location`/featureOnlineStores/`feature_online_store`/featureViews/`
        #   feature_view``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1FeatureView] google_cloud_aiplatform_v1_feature_view_object
        # @param [String] update_mask
        #   Field mask is used to specify the fields to be overwritten in the FeatureView
        #   resource by the update. The fields specified in the update_mask are relative
        #   to the resource, not the full request. A field will be overwritten if it is in
        #   the mask. If the user does not provide a mask then only the non-empty fields
        #   present in the request will be overwritten. Set the update_mask to `*` to
        #   override all fields. Updatable fields: * `labels` * `service_agent_type` * `
        #   big_query_source` * `big_query_source.uri` * `big_query_source.
        #   entity_id_columns` * `feature_registry_source` * `feature_registry_source.
        #   feature_groups` * `sync_config` * `sync_config.cron` * `optimized_config.
        #   automatic_resources`
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def patch_project_location_feature_online_store_feature_view(name, google_cloud_aiplatform_v1_feature_view_object = nil, update_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:patch, 'v1/{+name}', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1FeatureView::Representation
          command.request_object = google_cloud_aiplatform_v1_feature_view_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['updateMask'] = update_mask unless update_mask.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Search the nearest entities under a FeatureView. Search only works for
        # indexable feature view; if a feature view isn't indexable, returns Invalid
        # argument response.
        # @param [String] feature_view
        #   Required. FeatureView resource format `projects/`project`/locations/`location`/
        #   featureOnlineStores/`featureOnlineStore`/featureViews/`featureView``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1SearchNearestEntitiesRequest] google_cloud_aiplatform_v1_search_nearest_entities_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1SearchNearestEntitiesResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1SearchNearestEntitiesResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def search_project_location_feature_online_store_feature_view_nearest_entities(feature_view, google_cloud_aiplatform_v1_search_nearest_entities_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+featureView}:searchNearestEntities', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1SearchNearestEntitiesRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_search_nearest_entities_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1SearchNearestEntitiesResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1SearchNearestEntitiesResponse
          command.params['featureView'] = feature_view unless feature_view.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Sets the access control policy on the specified resource. Replaces any
        # existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `
        # PERMISSION_DENIED` errors.
        # @param [String] 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.
        # @param [Google::Apis::AiplatformV1::GoogleIamV1SetIamPolicyRequest] google_iam_v1_set_iam_policy_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleIamV1Policy] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleIamV1Policy]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def set_project_location_feature_online_store_feature_view_iam_policy(resource, google_iam_v1_set_iam_policy_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+resource}:setIamPolicy', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleIamV1SetIamPolicyRequest::Representation
          command.request_object = google_iam_v1_set_iam_policy_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleIamV1Policy::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleIamV1Policy
          command.params['resource'] = resource unless resource.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Triggers on-demand sync for the FeatureView.
        # @param [String] feature_view
        #   Required. Format: `projects/`project`/locations/`location`/featureOnlineStores/
        #   `feature_online_store`/featureViews/`feature_view``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1SyncFeatureViewRequest] google_cloud_aiplatform_v1_sync_feature_view_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1SyncFeatureViewResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1SyncFeatureViewResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def sync_project_location_feature_online_store_feature_view(feature_view, google_cloud_aiplatform_v1_sync_feature_view_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+featureView}:sync', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1SyncFeatureViewRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_sync_feature_view_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1SyncFeatureViewResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1SyncFeatureViewResponse
          command.params['featureView'] = feature_view unless feature_view.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] 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.
        # @param [Array<String>, String] 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).
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleIamV1TestIamPermissionsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleIamV1TestIamPermissionsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def test_project_location_feature_online_store_feature_view_iam_permissions(resource, permissions: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+resource}:testIamPermissions', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleIamV1TestIamPermissionsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleIamV1TestIamPermissionsResponse
          command.params['resource'] = resource unless resource.nil?
          command.query['permissions'] = permissions unless permissions.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Gets details of a single FeatureViewSync.
        # @param [String] name
        #   Required. The name of the FeatureViewSync resource. Format: `projects/`project`
        #   /locations/`location`/featureOnlineStores/`feature_online_store`/featureViews/`
        #   feature_view`/featureViewSyncs/`feature_view_sync``
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1FeatureViewSync] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1FeatureViewSync]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_feature_online_store_feature_view_feature_view_sync(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1FeatureViewSync::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1FeatureViewSync
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists FeatureViewSyncs in a given FeatureView.
        # @param [String] parent
        #   Required. The resource name of the FeatureView to list FeatureViewSyncs.
        #   Format: `projects/`project`/locations/`location`/featureOnlineStores/`
        #   feature_online_store`/featureViews/`feature_view``
        # @param [String] filter
        #   Lists the FeatureViewSyncs that match the filter expression. The following
        #   filters are supported: * `create_time`: Supports `=`, `!=`, `<`, `>`, `>=`,
        #   and `<=` comparisons. Values must be in RFC 3339 format. Examples: * `
        #   create_time > \"2020-01-31T15:30:00.000000Z\"` --> FeatureViewSyncs created
        #   after 2020-01-31T15:30:00.000000Z.
        # @param [String] order_by
        #   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`
        # @param [Fixnum] page_size
        #   The maximum number of FeatureViewSyncs to return. The service may return fewer
        #   than this value. If unspecified, at most 1000 FeatureViewSyncs will be
        #   returned. The maximum value is 1000; any value greater than 1000 will be
        #   coerced to 1000.
        # @param [String] page_token
        #   A page token, received from a previous FeatureOnlineStoreAdminService.
        #   ListFeatureViewSyncs call. Provide this to retrieve the subsequent page. When
        #   paginating, all other parameters provided to FeatureOnlineStoreAdminService.
        #   ListFeatureViewSyncs must match the call that provided the page token.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListFeatureViewSyncsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListFeatureViewSyncsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_feature_online_store_feature_view_feature_view_syncs(parent, filter: nil, order_by: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+parent}/featureViewSyncs', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListFeatureViewSyncsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListFeatureViewSyncsResponse
          command.params['parent'] = parent unless parent.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['orderBy'] = order_by unless order_by.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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`.
        # @param [String] name
        #   The name of the operation resource to be deleted.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_feature_online_store_feature_view_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] name
        #   The name of the operation resource.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_feature_online_store_feature_view_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists operations that match the specified filter in the request. If the server
        # doesn't support this method, it returns `UNIMPLEMENTED`.
        # @param [String] name
        #   The name of the operation's parent resource.
        # @param [String] filter
        #   The standard list filter.
        # @param [Fixnum] page_size
        #   The standard list page size.
        # @param [String] page_token
        #   The standard list page token.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_feature_online_store_feature_view_operation_wait(name, filter: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}:wait', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse
          command.params['name'] = name unless name.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] name
        #   The name of the operation resource to wait on.
        # @param [String] 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.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def wait_project_location_feature_online_store_feature_view_operation(name, timeout: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:wait', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['timeout'] = timeout unless timeout.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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`.
        # @param [String] name
        #   The name of the operation resource to be deleted.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_feature_online_store_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] name
        #   The name of the operation resource.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_feature_online_store_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists operations that match the specified filter in the request. If the server
        # doesn't support this method, it returns `UNIMPLEMENTED`.
        # @param [String] name
        #   The name of the operation's parent resource.
        # @param [String] filter
        #   The standard list filter.
        # @param [Fixnum] page_size
        #   The standard list page size.
        # @param [String] page_token
        #   The standard list page token.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_feature_online_store_operation_wait(name, filter: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}:wait', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse
          command.params['name'] = name unless name.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] name
        #   The name of the operation resource to wait on.
        # @param [String] 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.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def wait_project_location_feature_online_store_operation(name, timeout: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:wait', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['timeout'] = timeout unless timeout.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] featurestore
        #   Required. The resource name of the Featurestore from which to query Feature
        #   values. Format: `projects/`project`/locations/`location`/featurestores/`
        #   featurestore``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1BatchReadFeatureValuesRequest] google_cloud_aiplatform_v1_batch_read_feature_values_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def batch_project_location_featurestore_read_feature_values(featurestore, google_cloud_aiplatform_v1_batch_read_feature_values_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+featurestore}:batchReadFeatureValues', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1BatchReadFeatureValuesRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_batch_read_feature_values_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['featurestore'] = featurestore unless featurestore.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Creates a new Featurestore in a given project and location.
        # @param [String] parent
        #   Required. The resource name of the Location to create Featurestores. Format: `
        #   projects/`project`/locations/`location``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Featurestore] google_cloud_aiplatform_v1_featurestore_object
        # @param [String] featurestore_id
        #   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.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def create_project_location_featurestore(parent, google_cloud_aiplatform_v1_featurestore_object = nil, featurestore_id: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+parent}/featurestores', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Featurestore::Representation
          command.request_object = google_cloud_aiplatform_v1_featurestore_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['parent'] = parent unless parent.nil?
          command.query['featurestoreId'] = featurestore_id unless featurestore_id.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Deletes a single Featurestore. The Featurestore must not contain any
        # EntityTypes or `force` must be set to true for the request to succeed.
        # @param [String] name
        #   Required. The name of the Featurestore to be deleted. Format: `projects/`
        #   project`/locations/`location`/featurestores/`featurestore``
        # @param [Boolean] 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.)
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_featurestore(name, force: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['force'] = force unless force.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Gets details of a single Featurestore.
        # @param [String] name
        #   Required. The name of the Featurestore resource.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Featurestore] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Featurestore]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_featurestore(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Featurestore::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Featurestore
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Gets the access control policy for a resource. Returns an empty policy if the
        # resource exists and does not have a policy set.
        # @param [String] 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.
        # @param [Fixnum] options_requested_policy_version
        #   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).
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleIamV1Policy] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleIamV1Policy]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_featurestore_iam_policy(resource, options_requested_policy_version: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+resource}:getIamPolicy', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleIamV1Policy::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleIamV1Policy
          command.params['resource'] = resource unless resource.nil?
          command.query['options.requestedPolicyVersion'] = options_requested_policy_version unless options_requested_policy_version.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists Featurestores in a given project and location.
        # @param [String] parent
        #   Required. The resource name of the Location to list Featurestores. Format: `
        #   projects/`project`/locations/`location``
        # @param [String] 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".
        # @param [String] order_by
        #   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`
        # @param [Fixnum] page_size
        #   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.
        # @param [String] page_token
        #   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.
        # @param [String] read_mask
        #   Mask specifying which fields to read.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListFeaturestoresResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListFeaturestoresResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_featurestores(parent, filter: nil, order_by: nil, page_size: nil, page_token: nil, read_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+parent}/featurestores', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListFeaturestoresResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListFeaturestoresResponse
          command.params['parent'] = parent unless parent.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['orderBy'] = order_by unless order_by.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['readMask'] = read_mask unless read_mask.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Updates the parameters of a single Featurestore.
        # @param [String] name
        #   Output only. Name of the Featurestore. Format: `projects/`project`/locations/`
        #   location`/featurestores/`featurestore``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Featurestore] google_cloud_aiplatform_v1_featurestore_object
        # @param [String] update_mask
        #   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`
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def patch_project_location_featurestore(name, google_cloud_aiplatform_v1_featurestore_object = nil, update_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:patch, 'v1/{+name}', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Featurestore::Representation
          command.request_object = google_cloud_aiplatform_v1_featurestore_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['updateMask'] = update_mask unless update_mask.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Searches Features matching a query in a given project.
        # @param [String] location
        #   Required. The resource name of the Location to search Features. Format: `
        #   projects/`project`/locations/`location``
        # @param [Fixnum] page_size
        #   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.
        # @param [String] page_token
        #   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.
        # @param [String] 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.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1SearchFeaturesResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1SearchFeaturesResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def search_project_location_featurestore_features(location, page_size: nil, page_token: nil, query: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+location}/featurestores:searchFeatures', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1SearchFeaturesResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1SearchFeaturesResponse
          command.params['location'] = location unless location.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['query'] = query unless query.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Sets the access control policy on the specified resource. Replaces any
        # existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `
        # PERMISSION_DENIED` errors.
        # @param [String] 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.
        # @param [Google::Apis::AiplatformV1::GoogleIamV1SetIamPolicyRequest] google_iam_v1_set_iam_policy_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleIamV1Policy] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleIamV1Policy]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def set_project_location_featurestore_iam_policy(resource, google_iam_v1_set_iam_policy_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+resource}:setIamPolicy', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleIamV1SetIamPolicyRequest::Representation
          command.request_object = google_iam_v1_set_iam_policy_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleIamV1Policy::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleIamV1Policy
          command.params['resource'] = resource unless resource.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] 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.
        # @param [Array<String>, String] 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).
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleIamV1TestIamPermissionsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleIamV1TestIamPermissionsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def test_project_location_featurestore_iam_permissions(resource, permissions: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+resource}:testIamPermissions', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleIamV1TestIamPermissionsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleIamV1TestIamPermissionsResponse
          command.params['resource'] = resource unless resource.nil?
          command.query['permissions'] = permissions unless permissions.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Creates a new EntityType in a given Featurestore.
        # @param [String] parent
        #   Required. The resource name of the Featurestore to create EntityTypes. Format:
        #   `projects/`project`/locations/`location`/featurestores/`featurestore``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1EntityType] google_cloud_aiplatform_v1_entity_type_object
        # @param [String] entity_type_id
        #   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.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def create_project_location_featurestore_entity_type(parent, google_cloud_aiplatform_v1_entity_type_object = nil, entity_type_id: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+parent}/entityTypes', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1EntityType::Representation
          command.request_object = google_cloud_aiplatform_v1_entity_type_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['parent'] = parent unless parent.nil?
          command.query['entityTypeId'] = entity_type_id unless entity_type_id.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Deletes a single EntityType. The EntityType must not have any Features or `
        # force` must be set to true for the request to succeed.
        # @param [String] name
        #   Required. The name of the EntityType to be deleted. Format: `projects/`project`
        #   /locations/`location`/featurestores/`featurestore`/entityTypes/`entity_type``
        # @param [Boolean] 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.)
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_featurestore_entity_type(name, force: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['force'] = force unless force.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] entity_type
        #   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``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1DeleteFeatureValuesRequest] google_cloud_aiplatform_v1_delete_feature_values_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_featurestore_entity_type_feature_values(entity_type, google_cloud_aiplatform_v1_delete_feature_values_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+entityType}:deleteFeatureValues', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1DeleteFeatureValuesRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_delete_feature_values_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['entityType'] = entity_type unless entity_type.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Exports Feature values from all the entities of a target EntityType.
        # @param [String] entity_type
        #   Required. The resource name of the EntityType from which to export Feature
        #   values. Format: `projects/`project`/locations/`location`/featurestores/`
        #   featurestore`/entityTypes/`entity_type``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ExportFeatureValuesRequest] google_cloud_aiplatform_v1_export_feature_values_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def export_project_location_featurestore_entity_type_feature_values(entity_type, google_cloud_aiplatform_v1_export_feature_values_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+entityType}:exportFeatureValues', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ExportFeatureValuesRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_export_feature_values_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['entityType'] = entity_type unless entity_type.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Gets details of a single EntityType.
        # @param [String] name
        #   Required. The name of the EntityType resource. Format: `projects/`project`/
        #   locations/`location`/featurestores/`featurestore`/entityTypes/`entity_type``
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1EntityType] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1EntityType]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_featurestore_entity_type(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1EntityType::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1EntityType
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Gets the access control policy for a resource. Returns an empty policy if the
        # resource exists and does not have a policy set.
        # @param [String] 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.
        # @param [Fixnum] options_requested_policy_version
        #   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).
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleIamV1Policy] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleIamV1Policy]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_featurestore_entity_type_iam_policy(resource, options_requested_policy_version: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+resource}:getIamPolicy', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleIamV1Policy::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleIamV1Policy
          command.params['resource'] = resource unless resource.nil?
          command.query['options.requestedPolicyVersion'] = options_requested_policy_version unless options_requested_policy_version.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] entity_type
        #   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``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ImportFeatureValuesRequest] google_cloud_aiplatform_v1_import_feature_values_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def import_project_location_featurestore_entity_type_feature_values(entity_type, google_cloud_aiplatform_v1_import_feature_values_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+entityType}:importFeatureValues', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ImportFeatureValuesRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_import_feature_values_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['entityType'] = entity_type unless entity_type.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists EntityTypes in a given Featurestore.
        # @param [String] parent
        #   Required. The resource name of the Featurestore to list EntityTypes. Format: `
        #   projects/`project`/locations/`location`/featurestores/`featurestore``
        # @param [String] 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.
        # @param [String] order_by
        #   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`
        # @param [Fixnum] page_size
        #   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.
        # @param [String] page_token
        #   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.
        # @param [String] read_mask
        #   Mask specifying which fields to read.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListEntityTypesResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListEntityTypesResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_featurestore_entity_types(parent, filter: nil, order_by: nil, page_size: nil, page_token: nil, read_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+parent}/entityTypes', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListEntityTypesResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListEntityTypesResponse
          command.params['parent'] = parent unless parent.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['orderBy'] = order_by unless order_by.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['readMask'] = read_mask unless read_mask.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Updates the parameters of a single EntityType.
        # @param [String] 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.
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1EntityType] google_cloud_aiplatform_v1_entity_type_object
        # @param [String] update_mask
        #   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`
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1EntityType] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1EntityType]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def patch_project_location_featurestore_entity_type(name, google_cloud_aiplatform_v1_entity_type_object = nil, update_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:patch, 'v1/{+name}', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1EntityType::Representation
          command.request_object = google_cloud_aiplatform_v1_entity_type_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1EntityType::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1EntityType
          command.params['name'] = name unless name.nil?
          command.query['updateMask'] = update_mask unless update_mask.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Reads Feature values of a specific entity of an EntityType. For reading
        # feature values of multiple entities of an EntityType, please use
        # StreamingReadFeatureValues.
        # @param [String] entity_type
        #   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`.
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ReadFeatureValuesRequest] google_cloud_aiplatform_v1_read_feature_values_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ReadFeatureValuesResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ReadFeatureValuesResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def read_project_location_featurestore_entity_type_feature_values(entity_type, google_cloud_aiplatform_v1_read_feature_values_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+entityType}:readFeatureValues', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ReadFeatureValuesRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_read_feature_values_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ReadFeatureValuesResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ReadFeatureValuesResponse
          command.params['entityType'] = entity_type unless entity_type.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Sets the access control policy on the specified resource. Replaces any
        # existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `
        # PERMISSION_DENIED` errors.
        # @param [String] 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.
        # @param [Google::Apis::AiplatformV1::GoogleIamV1SetIamPolicyRequest] google_iam_v1_set_iam_policy_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleIamV1Policy] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleIamV1Policy]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def set_project_location_featurestore_entity_type_iam_policy(resource, google_iam_v1_set_iam_policy_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+resource}:setIamPolicy', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleIamV1SetIamPolicyRequest::Representation
          command.request_object = google_iam_v1_set_iam_policy_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleIamV1Policy::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleIamV1Policy
          command.params['resource'] = resource unless resource.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Reads Feature values for multiple entities. Depending on their size, data for
        # different entities may be broken up across multiple responses.
        # @param [String] entity_type
        #   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`.
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1StreamingReadFeatureValuesRequest] google_cloud_aiplatform_v1_streaming_read_feature_values_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ReadFeatureValuesResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ReadFeatureValuesResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def streaming_project_location_featurestore_entity_type_read_feature_values(entity_type, google_cloud_aiplatform_v1_streaming_read_feature_values_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+entityType}:streamingReadFeatureValues', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1StreamingReadFeatureValuesRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_streaming_read_feature_values_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ReadFeatureValuesResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ReadFeatureValuesResponse
          command.params['entityType'] = entity_type unless entity_type.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] 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.
        # @param [Array<String>, String] 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).
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleIamV1TestIamPermissionsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleIamV1TestIamPermissionsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def test_project_location_featurestore_entity_type_iam_permissions(resource, permissions: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+resource}:testIamPermissions', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleIamV1TestIamPermissionsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleIamV1TestIamPermissionsResponse
          command.params['resource'] = resource unless resource.nil?
          command.query['permissions'] = permissions unless permissions.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] entity_type
        #   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`.
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1WriteFeatureValuesRequest] google_cloud_aiplatform_v1_write_feature_values_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1WriteFeatureValuesResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1WriteFeatureValuesResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def write_project_location_featurestore_entity_type_feature_values(entity_type, google_cloud_aiplatform_v1_write_feature_values_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+entityType}:writeFeatureValues', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1WriteFeatureValuesRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_write_feature_values_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1WriteFeatureValuesResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1WriteFeatureValuesResponse
          command.params['entityType'] = entity_type unless entity_type.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Creates a batch of Features in a given EntityType.
        # @param [String] parent
        #   Required. The resource name of the EntityType/FeatureGroup to create the batch
        #   of Features under. Format: `projects/`project`/locations/`location`/
        #   featurestores/`featurestore`/entityTypes/`entity_type`` `projects/`project`/
        #   locations/`location`/featureGroups/`feature_group``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1BatchCreateFeaturesRequest] google_cloud_aiplatform_v1_batch_create_features_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def batch_project_location_featurestore_entity_type_feature_create(parent, google_cloud_aiplatform_v1_batch_create_features_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+parent}/features:batchCreate', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1BatchCreateFeaturesRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_batch_create_features_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['parent'] = parent unless parent.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Creates a new Feature in a given EntityType.
        # @param [String] parent
        #   Required. The resource name of the EntityType or FeatureGroup to create a
        #   Feature. Format for entity_type as parent: `projects/`project`/locations/`
        #   location`/featurestores/`featurestore`/entityTypes/`entity_type`` Format for
        #   feature_group as parent: `projects/`project`/locations/`location`/
        #   featureGroups/`feature_group``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Feature] google_cloud_aiplatform_v1_feature_object
        # @param [String] feature_id
        #   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.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def create_project_location_featurestore_entity_type_feature(parent, google_cloud_aiplatform_v1_feature_object = nil, feature_id: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+parent}/features', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Feature::Representation
          command.request_object = google_cloud_aiplatform_v1_feature_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['parent'] = parent unless parent.nil?
          command.query['featureId'] = feature_id unless feature_id.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Deletes a single Feature.
        # @param [String] name
        #   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``
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_featurestore_entity_type_feature(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Gets details of a single Feature.
        # @param [String] name
        #   Required. The name of the Feature resource. Format for entity_type as parent: `
        #   projects/`project`/locations/`location`/featurestores/`featurestore`/
        #   entityTypes/`entity_type`` Format for feature_group as parent: `projects/`
        #   project`/locations/`location`/featureGroups/`feature_group``
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Feature] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Feature]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_featurestore_entity_type_feature(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Feature::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Feature
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists Features in a given EntityType.
        # @param [String] parent
        #   Required. The resource name of the Location to list Features. Format for
        #   entity_type as parent: `projects/`project`/locations/`location`/featurestores/`
        #   featurestore`/entityTypes/`entity_type`` Format for feature_group as parent: `
        #   projects/`project`/locations/`location`/featureGroups/`feature_group``
        # @param [String] 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.
        # @param [Fixnum] latest_stats_count
        #   Only applicable for Vertex AI Feature Store (Legacy). If set, return the most
        #   recent ListFeaturesRequest.latest_stats_count of stats for each Feature in
        #   response. Valid value is [0, 10]. If number of stats exists <
        #   ListFeaturesRequest.latest_stats_count, return all existing stats.
        # @param [String] order_by
        #   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`
        # @param [Fixnum] page_size
        #   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.
        # @param [String] page_token
        #   A page token, received from a previous FeaturestoreService.ListFeatures call
        #   or FeatureRegistryService.ListFeatures call. Provide this to retrieve the
        #   subsequent page. When paginating, all other parameters provided to
        #   FeaturestoreService.ListFeatures or FeatureRegistryService.ListFeatures must
        #   match the call that provided the page token.
        # @param [String] read_mask
        #   Mask specifying which fields to read.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListFeaturesResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListFeaturesResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_featurestore_entity_type_features(parent, filter: nil, latest_stats_count: nil, order_by: nil, page_size: nil, page_token: nil, read_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+parent}/features', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListFeaturesResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListFeaturesResponse
          command.params['parent'] = parent unless parent.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['latestStatsCount'] = latest_stats_count unless latest_stats_count.nil?
          command.query['orderBy'] = order_by unless order_by.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['readMask'] = read_mask unless read_mask.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Updates the parameters of a single Feature.
        # @param [String] name
        #   Immutable. Name of the Feature. Format: `projects/`project`/locations/`
        #   location`/featurestores/`featurestore`/entityTypes/`entity_type`/features/`
        #   feature`` `projects/`project`/locations/`location`/featureGroups/`
        #   feature_group`/features/`feature`` The last part feature is assigned by the
        #   client. The feature can be up to 64 characters long and can consist only of
        #   ASCII Latin letters A-Z and a-z, underscore(_), and ASCII digits 0-9 starting
        #   with a letter. The value will be unique given an entity type.
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Feature] google_cloud_aiplatform_v1_feature_object
        # @param [String] update_mask
        #   Field mask is used to specify the fields to be overwritten in the Features
        #   resource by the update. The fields specified in the update_mask are relative
        #   to the resource, not the full request. A field will be overwritten if it is in
        #   the mask. If the user does not provide a mask then only the non-empty fields
        #   present in the request will be overwritten. Set the update_mask to `*` to
        #   override all fields. Updatable fields: * `description` * `labels` * `
        #   disable_monitoring` (Not supported for FeatureRegistryService Feature) * `
        #   point_of_contact` (Not supported for FeaturestoreService FeatureStore)
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Feature] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Feature]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def patch_project_location_featurestore_entity_type_feature(name, google_cloud_aiplatform_v1_feature_object = nil, update_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:patch, 'v1/{+name}', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Feature::Representation
          command.request_object = google_cloud_aiplatform_v1_feature_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Feature::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Feature
          command.params['name'] = name unless name.nil?
          command.query['updateMask'] = update_mask unless update_mask.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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`.
        # @param [String] name
        #   The name of the operation resource to be cancelled.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def cancel_project_location_featurestore_entity_type_feature_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:cancel', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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`.
        # @param [String] name
        #   The name of the operation resource to be deleted.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_featurestore_entity_type_feature_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] name
        #   The name of the operation resource.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_featurestore_entity_type_feature_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists operations that match the specified filter in the request. If the server
        # doesn't support this method, it returns `UNIMPLEMENTED`.
        # @param [String] name
        #   The name of the operation's parent resource.
        # @param [String] filter
        #   The standard list filter.
        # @param [Fixnum] page_size
        #   The standard list page size.
        # @param [String] page_token
        #   The standard list page token.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_featurestore_entity_type_feature_operations(name, filter: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}/operations', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse
          command.params['name'] = name unless name.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] name
        #   The name of the operation resource to wait on.
        # @param [String] 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.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def wait_project_location_featurestore_entity_type_feature_operation(name, timeout: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:wait', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['timeout'] = timeout unless timeout.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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`.
        # @param [String] name
        #   The name of the operation resource to be cancelled.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def cancel_project_location_featurestore_entity_type_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:cancel', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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`.
        # @param [String] name
        #   The name of the operation resource to be deleted.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_featurestore_entity_type_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] name
        #   The name of the operation resource.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_featurestore_entity_type_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists operations that match the specified filter in the request. If the server
        # doesn't support this method, it returns `UNIMPLEMENTED`.
        # @param [String] name
        #   The name of the operation's parent resource.
        # @param [String] filter
        #   The standard list filter.
        # @param [Fixnum] page_size
        #   The standard list page size.
        # @param [String] page_token
        #   The standard list page token.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_featurestore_entity_type_operations(name, filter: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}/operations', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse
          command.params['name'] = name unless name.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] name
        #   The name of the operation resource to wait on.
        # @param [String] 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.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def wait_project_location_featurestore_entity_type_operation(name, timeout: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:wait', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['timeout'] = timeout unless timeout.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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`.
        # @param [String] name
        #   The name of the operation resource to be cancelled.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def cancel_project_location_featurestore_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:cancel', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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`.
        # @param [String] name
        #   The name of the operation resource to be deleted.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_featurestore_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] name
        #   The name of the operation resource.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_featurestore_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists operations that match the specified filter in the request. If the server
        # doesn't support this method, it returns `UNIMPLEMENTED`.
        # @param [String] name
        #   The name of the operation's parent resource.
        # @param [String] filter
        #   The standard list filter.
        # @param [Fixnum] page_size
        #   The standard list page size.
        # @param [String] page_token
        #   The standard list page token.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_featurestore_operations(name, filter: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}/operations', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse
          command.params['name'] = name unless name.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] name
        #   The name of the operation resource to wait on.
        # @param [String] 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.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def wait_project_location_featurestore_operation(name, timeout: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:wait', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['timeout'] = timeout unless timeout.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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`.
        # @param [String] name
        #   Required. The name of the HyperparameterTuningJob to cancel. Format: `projects/
        #   `project`/locations/`location`/hyperparameterTuningJobs/`
        #   hyperparameter_tuning_job``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1CancelHyperparameterTuningJobRequest] google_cloud_aiplatform_v1_cancel_hyperparameter_tuning_job_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def cancel_project_location_hyperparameter_tuning_job(name, google_cloud_aiplatform_v1_cancel_hyperparameter_tuning_job_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:cancel', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1CancelHyperparameterTuningJobRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_cancel_hyperparameter_tuning_job_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Creates a HyperparameterTuningJob
        # @param [String] parent
        #   Required. The resource name of the Location to create the
        #   HyperparameterTuningJob in. Format: `projects/`project`/locations/`location``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1HyperparameterTuningJob] google_cloud_aiplatform_v1_hyperparameter_tuning_job_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1HyperparameterTuningJob] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1HyperparameterTuningJob]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def create_project_location_hyperparameter_tuning_job(parent, google_cloud_aiplatform_v1_hyperparameter_tuning_job_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+parent}/hyperparameterTuningJobs', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1HyperparameterTuningJob::Representation
          command.request_object = google_cloud_aiplatform_v1_hyperparameter_tuning_job_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1HyperparameterTuningJob::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1HyperparameterTuningJob
          command.params['parent'] = parent unless parent.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Deletes a HyperparameterTuningJob.
        # @param [String] name
        #   Required. The name of the HyperparameterTuningJob resource to be deleted.
        #   Format: `projects/`project`/locations/`location`/hyperparameterTuningJobs/`
        #   hyperparameter_tuning_job``
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_hyperparameter_tuning_job(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Gets a HyperparameterTuningJob
        # @param [String] name
        #   Required. The name of the HyperparameterTuningJob resource. Format: `projects/`
        #   project`/locations/`location`/hyperparameterTuningJobs/`
        #   hyperparameter_tuning_job``
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1HyperparameterTuningJob] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1HyperparameterTuningJob]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_hyperparameter_tuning_job(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1HyperparameterTuningJob::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1HyperparameterTuningJob
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists HyperparameterTuningJobs in a Location.
        # @param [String] parent
        #   Required. The resource name of the Location to list the
        #   HyperparameterTuningJobs from. Format: `projects/`project`/locations/`location`
        #   `
        # @param [String] 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:*`
        # @param [Fixnum] page_size
        #   The standard list page size.
        # @param [String] page_token
        #   The standard list page token. Typically obtained via
        #   ListHyperparameterTuningJobsResponse.next_page_token of the previous
        #   JobService.ListHyperparameterTuningJobs call.
        # @param [String] read_mask
        #   Mask specifying which fields to read.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListHyperparameterTuningJobsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListHyperparameterTuningJobsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_hyperparameter_tuning_jobs(parent, filter: nil, page_size: nil, page_token: nil, read_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+parent}/hyperparameterTuningJobs', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListHyperparameterTuningJobsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListHyperparameterTuningJobsResponse
          command.params['parent'] = parent unless parent.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['readMask'] = read_mask unless read_mask.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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`.
        # @param [String] name
        #   The name of the operation resource to be cancelled.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def cancel_project_location_hyperparameter_tuning_job_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:cancel', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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`.
        # @param [String] name
        #   The name of the operation resource to be deleted.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_hyperparameter_tuning_job_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] name
        #   The name of the operation resource.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_hyperparameter_tuning_job_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists operations that match the specified filter in the request. If the server
        # doesn't support this method, it returns `UNIMPLEMENTED`.
        # @param [String] name
        #   The name of the operation's parent resource.
        # @param [String] filter
        #   The standard list filter.
        # @param [Fixnum] page_size
        #   The standard list page size.
        # @param [String] page_token
        #   The standard list page token.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_hyperparameter_tuning_job_operations(name, filter: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}/operations', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse
          command.params['name'] = name unless name.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] name
        #   The name of the operation resource to wait on.
        # @param [String] 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.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def wait_project_location_hyperparameter_tuning_job_operation(name, timeout: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:wait', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['timeout'] = timeout unless timeout.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Creates an IndexEndpoint.
        # @param [String] parent
        #   Required. The resource name of the Location to create the IndexEndpoint in.
        #   Format: `projects/`project`/locations/`location``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1IndexEndpoint] google_cloud_aiplatform_v1_index_endpoint_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def create_project_location_index_endpoint(parent, google_cloud_aiplatform_v1_index_endpoint_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+parent}/indexEndpoints', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1IndexEndpoint::Representation
          command.request_object = google_cloud_aiplatform_v1_index_endpoint_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['parent'] = parent unless parent.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Deletes an IndexEndpoint.
        # @param [String] name
        #   Required. The name of the IndexEndpoint resource to be deleted. Format: `
        #   projects/`project`/locations/`location`/indexEndpoints/`index_endpoint``
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_index_endpoint(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Deploys an Index into this IndexEndpoint, creating a DeployedIndex within it.
        # @param [String] index_endpoint
        #   Required. The name of the IndexEndpoint resource into which to deploy an Index.
        #   Format: `projects/`project`/locations/`location`/indexEndpoints/`
        #   index_endpoint``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1DeployIndexRequest] google_cloud_aiplatform_v1_deploy_index_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def deploy_project_location_index_endpoint_index(index_endpoint, google_cloud_aiplatform_v1_deploy_index_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+indexEndpoint}:deployIndex', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1DeployIndexRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_deploy_index_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['indexEndpoint'] = index_endpoint unless index_endpoint.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Finds the nearest neighbors of each vector within the request.
        # @param [String] index_endpoint
        #   Required. The name of the index endpoint. Format: `projects/`project`/
        #   locations/`location`/indexEndpoints/`index_endpoint``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1FindNeighborsRequest] google_cloud_aiplatform_v1_find_neighbors_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1FindNeighborsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1FindNeighborsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def find_project_location_index_endpoint_neighbors(index_endpoint, google_cloud_aiplatform_v1_find_neighbors_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+indexEndpoint}:findNeighbors', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1FindNeighborsRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_find_neighbors_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1FindNeighborsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1FindNeighborsResponse
          command.params['indexEndpoint'] = index_endpoint unless index_endpoint.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Gets an IndexEndpoint.
        # @param [String] name
        #   Required. The name of the IndexEndpoint resource. Format: `projects/`project`/
        #   locations/`location`/indexEndpoints/`index_endpoint``
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1IndexEndpoint] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1IndexEndpoint]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_index_endpoint(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1IndexEndpoint::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1IndexEndpoint
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists IndexEndpoints in a Location.
        # @param [String] parent
        #   Required. The resource name of the Location from which to list the
        #   IndexEndpoints. Format: `projects/`project`/locations/`location``
        # @param [String] filter
        #   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") -> The display name
        #   starts with an A. * `labels.myKey="myValue"`
        # @param [Fixnum] page_size
        #   Optional. The standard list page size.
        # @param [String] page_token
        #   Optional. The standard list page token. Typically obtained via
        #   ListIndexEndpointsResponse.next_page_token of the previous
        #   IndexEndpointService.ListIndexEndpoints call.
        # @param [String] read_mask
        #   Optional. Mask specifying which fields to read.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListIndexEndpointsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListIndexEndpointsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_index_endpoints(parent, filter: nil, page_size: nil, page_token: nil, read_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+parent}/indexEndpoints', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListIndexEndpointsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListIndexEndpointsResponse
          command.params['parent'] = parent unless parent.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['readMask'] = read_mask unless read_mask.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Update an existing DeployedIndex under an IndexEndpoint.
        # @param [String] index_endpoint
        #   Required. The name of the IndexEndpoint resource into which to deploy an Index.
        #   Format: `projects/`project`/locations/`location`/indexEndpoints/`
        #   index_endpoint``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1DeployedIndex] google_cloud_aiplatform_v1_deployed_index_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def mutate_project_location_index_endpoint_deployed_index(index_endpoint, google_cloud_aiplatform_v1_deployed_index_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+indexEndpoint}:mutateDeployedIndex', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1DeployedIndex::Representation
          command.request_object = google_cloud_aiplatform_v1_deployed_index_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['indexEndpoint'] = index_endpoint unless index_endpoint.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Updates an IndexEndpoint.
        # @param [String] name
        #   Output only. The resource name of the IndexEndpoint.
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1IndexEndpoint] google_cloud_aiplatform_v1_index_endpoint_object
        # @param [String] update_mask
        #   Required. The update mask applies to the resource. See google.protobuf.
        #   FieldMask.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1IndexEndpoint] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1IndexEndpoint]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def patch_project_location_index_endpoint(name, google_cloud_aiplatform_v1_index_endpoint_object = nil, update_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:patch, 'v1/{+name}', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1IndexEndpoint::Representation
          command.request_object = google_cloud_aiplatform_v1_index_endpoint_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1IndexEndpoint::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1IndexEndpoint
          command.params['name'] = name unless name.nil?
          command.query['updateMask'] = update_mask unless update_mask.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Reads the datapoints/vectors of the given IDs. A maximum of 1000 datapoints
        # can be retrieved in a batch.
        # @param [String] index_endpoint
        #   Required. The name of the index endpoint. Format: `projects/`project`/
        #   locations/`location`/indexEndpoints/`index_endpoint``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ReadIndexDatapointsRequest] google_cloud_aiplatform_v1_read_index_datapoints_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ReadIndexDatapointsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ReadIndexDatapointsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def read_project_location_index_endpoint_index_datapoints(index_endpoint, google_cloud_aiplatform_v1_read_index_datapoints_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+indexEndpoint}:readIndexDatapoints', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ReadIndexDatapointsRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_read_index_datapoints_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ReadIndexDatapointsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ReadIndexDatapointsResponse
          command.params['indexEndpoint'] = index_endpoint unless index_endpoint.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Undeploys an Index from an IndexEndpoint, removing a DeployedIndex from it,
        # and freeing all resources it's using.
        # @param [String] index_endpoint
        #   Required. The name of the IndexEndpoint resource from which to undeploy an
        #   Index. Format: `projects/`project`/locations/`location`/indexEndpoints/`
        #   index_endpoint``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1UndeployIndexRequest] google_cloud_aiplatform_v1_undeploy_index_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def undeploy_project_location_index_endpoint_index(index_endpoint, google_cloud_aiplatform_v1_undeploy_index_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+indexEndpoint}:undeployIndex', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1UndeployIndexRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_undeploy_index_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['indexEndpoint'] = index_endpoint unless index_endpoint.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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`.
        # @param [String] name
        #   The name of the operation resource to be cancelled.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def cancel_project_location_index_endpoint_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:cancel', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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`.
        # @param [String] name
        #   The name of the operation resource to be deleted.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_index_endpoint_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] name
        #   The name of the operation resource.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_index_endpoint_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists operations that match the specified filter in the request. If the server
        # doesn't support this method, it returns `UNIMPLEMENTED`.
        # @param [String] name
        #   The name of the operation's parent resource.
        # @param [String] filter
        #   The standard list filter.
        # @param [Fixnum] page_size
        #   The standard list page size.
        # @param [String] page_token
        #   The standard list page token.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_index_endpoint_operations(name, filter: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}/operations', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse
          command.params['name'] = name unless name.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] name
        #   The name of the operation resource to wait on.
        # @param [String] 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.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def wait_project_location_index_endpoint_operation(name, timeout: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:wait', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['timeout'] = timeout unless timeout.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Creates an Index.
        # @param [String] parent
        #   Required. The resource name of the Location to create the Index in. Format: `
        #   projects/`project`/locations/`location``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Index] google_cloud_aiplatform_v1_index_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def create_project_location_index(parent, google_cloud_aiplatform_v1_index_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+parent}/indexes', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Index::Representation
          command.request_object = google_cloud_aiplatform_v1_index_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['parent'] = parent unless parent.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Deletes an Index. An Index can only be deleted when all its DeployedIndexes
        # had been undeployed.
        # @param [String] name
        #   Required. The name of the Index resource to be deleted. Format: `projects/`
        #   project`/locations/`location`/indexes/`index``
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_index(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Gets an Index.
        # @param [String] name
        #   Required. The name of the Index resource. Format: `projects/`project`/
        #   locations/`location`/indexes/`index``
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Index] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Index]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_index(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Index::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Index
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists Indexes in a Location.
        # @param [String] parent
        #   Required. The resource name of the Location from which to list the Indexes.
        #   Format: `projects/`project`/locations/`location``
        # @param [String] filter
        #   The standard list filter.
        # @param [Fixnum] page_size
        #   The standard list page size.
        # @param [String] page_token
        #   The standard list page token. Typically obtained via ListIndexesResponse.
        #   next_page_token of the previous IndexService.ListIndexes call.
        # @param [String] read_mask
        #   Mask specifying which fields to read.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListIndexesResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListIndexesResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_indexes(parent, filter: nil, page_size: nil, page_token: nil, read_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+parent}/indexes', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListIndexesResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListIndexesResponse
          command.params['parent'] = parent unless parent.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['readMask'] = read_mask unless read_mask.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Updates an Index.
        # @param [String] name
        #   Output only. The resource name of the Index.
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Index] google_cloud_aiplatform_v1_index_object
        # @param [String] update_mask
        #   The update mask applies to the resource. For the `FieldMask` definition, see
        #   google.protobuf.FieldMask.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def patch_project_location_index(name, google_cloud_aiplatform_v1_index_object = nil, update_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:patch, 'v1/{+name}', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Index::Representation
          command.request_object = google_cloud_aiplatform_v1_index_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['updateMask'] = update_mask unless update_mask.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Remove Datapoints from an Index.
        # @param [String] index
        #   Required. The name of the Index resource to be updated. Format: `projects/`
        #   project`/locations/`location`/indexes/`index``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1RemoveDatapointsRequest] google_cloud_aiplatform_v1_remove_datapoints_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1RemoveDatapointsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1RemoveDatapointsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def remove_project_location_index_datapoints(index, google_cloud_aiplatform_v1_remove_datapoints_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+index}:removeDatapoints', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1RemoveDatapointsRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_remove_datapoints_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1RemoveDatapointsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1RemoveDatapointsResponse
          command.params['index'] = index unless index.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Add/update Datapoints into an Index.
        # @param [String] index
        #   Required. The name of the Index resource to be updated. Format: `projects/`
        #   project`/locations/`location`/indexes/`index``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1UpsertDatapointsRequest] google_cloud_aiplatform_v1_upsert_datapoints_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1UpsertDatapointsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1UpsertDatapointsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def upsert_project_location_index_datapoints(index, google_cloud_aiplatform_v1_upsert_datapoints_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+index}:upsertDatapoints', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1UpsertDatapointsRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_upsert_datapoints_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1UpsertDatapointsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1UpsertDatapointsResponse
          command.params['index'] = index unless index.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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`.
        # @param [String] name
        #   The name of the operation resource to be cancelled.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def cancel_project_location_index_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:cancel', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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`.
        # @param [String] name
        #   The name of the operation resource to be deleted.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_index_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] name
        #   The name of the operation resource.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_index_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists operations that match the specified filter in the request. If the server
        # doesn't support this method, it returns `UNIMPLEMENTED`.
        # @param [String] name
        #   The name of the operation's parent resource.
        # @param [String] filter
        #   The standard list filter.
        # @param [Fixnum] page_size
        #   The standard list page size.
        # @param [String] page_token
        #   The standard list page token.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_index_operations(name, filter: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}/operations', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse
          command.params['name'] = name unless name.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] name
        #   The name of the operation resource to wait on.
        # @param [String] 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.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def wait_project_location_index_operation(name, timeout: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:wait', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['timeout'] = timeout unless timeout.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Initializes a MetadataStore, including allocation of resources.
        # @param [String] parent
        #   Required. The resource name of the Location where the MetadataStore should be
        #   created. Format: `projects/`project`/locations/`location`/`
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1MetadataStore] google_cloud_aiplatform_v1_metadata_store_object
        # @param [String] metadata_store_id
        #   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.)
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def create_project_location_metadata_store(parent, google_cloud_aiplatform_v1_metadata_store_object = nil, metadata_store_id: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+parent}/metadataStores', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1MetadataStore::Representation
          command.request_object = google_cloud_aiplatform_v1_metadata_store_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['parent'] = parent unless parent.nil?
          command.query['metadataStoreId'] = metadata_store_id unless metadata_store_id.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Deletes a single MetadataStore and all its child resources (Artifacts,
        # Executions, and Contexts).
        # @param [String] name
        #   Required. The resource name of the MetadataStore to delete. Format: `projects/`
        #   project`/locations/`location`/metadataStores/`metadatastore``
        # @param [Boolean] force
        #   Deprecated: Field is no longer supported.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_metadata_store(name, force: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['force'] = force unless force.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Retrieves a specific MetadataStore.
        # @param [String] name
        #   Required. The resource name of the MetadataStore to retrieve. Format: `
        #   projects/`project`/locations/`location`/metadataStores/`metadatastore``
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1MetadataStore] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1MetadataStore]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_metadata_store(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1MetadataStore::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1MetadataStore
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists MetadataStores for a Location.
        # @param [String] parent
        #   Required. The Location whose MetadataStores should be listed. Format: `
        #   projects/`project`/locations/`location``
        # @param [Fixnum] page_size
        #   The maximum number of Metadata Stores to return. The service may return fewer.
        #   Must be in range 1-100, inclusive. Defaults to 100.
        # @param [String] page_token
        #   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.)
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListMetadataStoresResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListMetadataStoresResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_metadata_stores(parent, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+parent}/metadataStores', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListMetadataStoresResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListMetadataStoresResponse
          command.params['parent'] = parent unless parent.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Creates an Artifact associated with a MetadataStore.
        # @param [String] parent
        #   Required. The resource name of the MetadataStore where the Artifact should be
        #   created. Format: `projects/`project`/locations/`location`/metadataStores/`
        #   metadatastore``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Artifact] google_cloud_aiplatform_v1_artifact_object
        # @param [String] artifact_id
        #   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.)
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Artifact] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Artifact]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def create_project_location_metadata_store_artifact(parent, google_cloud_aiplatform_v1_artifact_object = nil, artifact_id: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+parent}/artifacts', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Artifact::Representation
          command.request_object = google_cloud_aiplatform_v1_artifact_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Artifact::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Artifact
          command.params['parent'] = parent unless parent.nil?
          command.query['artifactId'] = artifact_id unless artifact_id.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Deletes an Artifact.
        # @param [String] name
        #   Required. The resource name of the Artifact to delete. Format: `projects/`
        #   project`/locations/`location`/metadataStores/`metadatastore`/artifacts/`
        #   artifact``
        # @param [String] etag
        #   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.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_metadata_store_artifact(name, etag: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['etag'] = etag unless etag.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Retrieves a specific Artifact.
        # @param [String] name
        #   Required. The resource name of the Artifact to retrieve. Format: `projects/`
        #   project`/locations/`location`/metadataStores/`metadatastore`/artifacts/`
        #   artifact``
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Artifact] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Artifact]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_metadata_store_artifact(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Artifact::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Artifact
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists Artifacts in the MetadataStore.
        # @param [String] parent
        #   Required. The MetadataStore whose Artifacts should be listed. Format: `
        #   projects/`project`/locations/`location`/metadataStores/`metadatastore``
        # @param [String] 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`.
        # @param [String] order_by
        #   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.
        # @param [Fixnum] page_size
        #   The maximum number of Artifacts to return. The service may return fewer. Must
        #   be in range 1-100, inclusive. Defaults to 100.
        # @param [String] page_token
        #   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.)
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListArtifactsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListArtifactsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_metadata_store_artifacts(parent, filter: nil, order_by: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+parent}/artifacts', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListArtifactsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListArtifactsResponse
          command.params['parent'] = parent unless parent.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['orderBy'] = order_by unless order_by.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Updates a stored Artifact.
        # @param [String] name
        #   Output only. The resource name of the Artifact.
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Artifact] google_cloud_aiplatform_v1_artifact_object
        # @param [Boolean] allow_missing
        #   If set to true, and the Artifact is not found, a new Artifact is created.
        # @param [String] update_mask
        #   Optional. A FieldMask indicating which fields should be updated.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Artifact] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Artifact]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def patch_project_location_metadata_store_artifact(name, google_cloud_aiplatform_v1_artifact_object = nil, allow_missing: nil, update_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:patch, 'v1/{+name}', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Artifact::Representation
          command.request_object = google_cloud_aiplatform_v1_artifact_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Artifact::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Artifact
          command.params['name'] = name unless name.nil?
          command.query['allowMissing'] = allow_missing unless allow_missing.nil?
          command.query['updateMask'] = update_mask unless update_mask.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Purges Artifacts.
        # @param [String] parent
        #   Required. The metadata store to purge Artifacts from. Format: `projects/`
        #   project`/locations/`location`/metadataStores/`metadatastore``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1PurgeArtifactsRequest] google_cloud_aiplatform_v1_purge_artifacts_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def purge_project_location_metadata_store_artifact(parent, google_cloud_aiplatform_v1_purge_artifacts_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+parent}/artifacts:purge', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1PurgeArtifactsRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_purge_artifacts_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['parent'] = parent unless parent.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Retrieves lineage of an Artifact represented through Artifacts and Executions
        # connected by Event edges and returned as a LineageSubgraph.
        # @param [String] artifact
        #   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.
        # @param [String] 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`.
        # @param [Fixnum] max_hops
        #   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.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1LineageSubgraph] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1LineageSubgraph]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def query_project_location_metadata_store_artifact_artifact_lineage_subgraph(artifact, filter: nil, max_hops: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+artifact}:queryArtifactLineageSubgraph', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1LineageSubgraph::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1LineageSubgraph
          command.params['artifact'] = artifact unless artifact.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['maxHops'] = max_hops unless max_hops.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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`.
        # @param [String] name
        #   The name of the operation resource to be cancelled.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def cancel_project_location_metadata_store_artifact_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:cancel', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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`.
        # @param [String] name
        #   The name of the operation resource to be deleted.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_metadata_store_artifact_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] name
        #   The name of the operation resource.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_metadata_store_artifact_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists operations that match the specified filter in the request. If the server
        # doesn't support this method, it returns `UNIMPLEMENTED`.
        # @param [String] name
        #   The name of the operation's parent resource.
        # @param [String] filter
        #   The standard list filter.
        # @param [Fixnum] page_size
        #   The standard list page size.
        # @param [String] page_token
        #   The standard list page token.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_metadata_store_artifact_operations(name, filter: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}/operations', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse
          command.params['name'] = name unless name.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] name
        #   The name of the operation resource to wait on.
        # @param [String] 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.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def wait_project_location_metadata_store_artifact_operation(name, timeout: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:wait', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['timeout'] = timeout unless timeout.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] context
        #   Required. The resource name of the Context that the Artifacts and Executions
        #   belong to. Format: `projects/`project`/locations/`location`/metadataStores/`
        #   metadatastore`/contexts/`context``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1AddContextArtifactsAndExecutionsRequest] google_cloud_aiplatform_v1_add_context_artifacts_and_executions_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1AddContextArtifactsAndExecutionsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1AddContextArtifactsAndExecutionsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def add_project_location_metadata_store_context_context_artifacts_and_executions(context, google_cloud_aiplatform_v1_add_context_artifacts_and_executions_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+context}:addContextArtifactsAndExecutions', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1AddContextArtifactsAndExecutionsRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_add_context_artifacts_and_executions_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1AddContextArtifactsAndExecutionsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1AddContextArtifactsAndExecutionsResponse
          command.params['context'] = context unless context.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] context
        #   Required. The resource name of the parent Context. Format: `projects/`project`/
        #   locations/`location`/metadataStores/`metadatastore`/contexts/`context``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1AddContextChildrenRequest] google_cloud_aiplatform_v1_add_context_children_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1AddContextChildrenResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1AddContextChildrenResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def add_project_location_metadata_store_context_context_children(context, google_cloud_aiplatform_v1_add_context_children_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+context}:addContextChildren', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1AddContextChildrenRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_add_context_children_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1AddContextChildrenResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1AddContextChildrenResponse
          command.params['context'] = context unless context.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Creates a Context associated with a MetadataStore.
        # @param [String] parent
        #   Required. The resource name of the MetadataStore where the Context should be
        #   created. Format: `projects/`project`/locations/`location`/metadataStores/`
        #   metadatastore``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Context] google_cloud_aiplatform_v1_context_object
        # @param [String] context_id
        #   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.)
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Context] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Context]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def create_project_location_metadata_store_context(parent, google_cloud_aiplatform_v1_context_object = nil, context_id: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+parent}/contexts', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Context::Representation
          command.request_object = google_cloud_aiplatform_v1_context_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Context::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Context
          command.params['parent'] = parent unless parent.nil?
          command.query['contextId'] = context_id unless context_id.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Deletes a stored Context.
        # @param [String] name
        #   Required. The resource name of the Context to delete. Format: `projects/`
        #   project`/locations/`location`/metadataStores/`metadatastore`/contexts/`context`
        #   `
        # @param [String] etag
        #   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.
        # @param [Boolean] force
        #   The force deletion semantics is still undefined. Users should not use this
        #   field.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_metadata_store_context(name, etag: nil, force: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['etag'] = etag unless etag.nil?
          command.query['force'] = force unless force.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Retrieves a specific Context.
        # @param [String] name
        #   Required. The resource name of the Context to retrieve. Format: `projects/`
        #   project`/locations/`location`/metadataStores/`metadatastore`/contexts/`context`
        #   `
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Context] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Context]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_metadata_store_context(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Context::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Context
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists Contexts on the MetadataStore.
        # @param [String] parent
        #   Required. The MetadataStore whose Contexts should be listed. Format: `projects/
        #   `project`/locations/`location`/metadataStores/`metadatastore``
        # @param [String] 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`.
        # @param [String] order_by
        #   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.
        # @param [Fixnum] page_size
        #   The maximum number of Contexts to return. The service may return fewer. Must
        #   be in range 1-100, inclusive. Defaults to 100.
        # @param [String] page_token
        #   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.)
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListContextsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListContextsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_metadata_store_contexts(parent, filter: nil, order_by: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+parent}/contexts', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListContextsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListContextsResponse
          command.params['parent'] = parent unless parent.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['orderBy'] = order_by unless order_by.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Updates a stored Context.
        # @param [String] name
        #   Immutable. The resource name of the Context.
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Context] google_cloud_aiplatform_v1_context_object
        # @param [Boolean] allow_missing
        #   If set to true, and the Context is not found, a new Context is created.
        # @param [String] update_mask
        #   Optional. A FieldMask indicating which fields should be updated.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Context] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Context]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def patch_project_location_metadata_store_context(name, google_cloud_aiplatform_v1_context_object = nil, allow_missing: nil, update_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:patch, 'v1/{+name}', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Context::Representation
          command.request_object = google_cloud_aiplatform_v1_context_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Context::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Context
          command.params['name'] = name unless name.nil?
          command.query['allowMissing'] = allow_missing unless allow_missing.nil?
          command.query['updateMask'] = update_mask unless update_mask.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Purges Contexts.
        # @param [String] parent
        #   Required. The metadata store to purge Contexts from. Format: `projects/`
        #   project`/locations/`location`/metadataStores/`metadatastore``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1PurgeContextsRequest] google_cloud_aiplatform_v1_purge_contexts_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def purge_project_location_metadata_store_context(parent, google_cloud_aiplatform_v1_purge_contexts_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+parent}/contexts:purge', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1PurgeContextsRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_purge_contexts_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['parent'] = parent unless parent.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Retrieves Artifacts and Executions within the specified Context, connected by
        # Event edges and returned as a LineageSubgraph.
        # @param [String] context
        #   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.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1LineageSubgraph] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1LineageSubgraph]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def query_project_location_metadata_store_context_context_lineage_subgraph(context, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+context}:queryContextLineageSubgraph', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1LineageSubgraph::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1LineageSubgraph
          command.params['context'] = context unless context.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] context
        #   Required. The resource name of the parent Context. Format: `projects/`project`/
        #   locations/`location`/metadataStores/`metadatastore`/contexts/`context``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1RemoveContextChildrenRequest] google_cloud_aiplatform_v1_remove_context_children_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1RemoveContextChildrenResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1RemoveContextChildrenResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def remove_project_location_metadata_store_context_context_children(context, google_cloud_aiplatform_v1_remove_context_children_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+context}:removeContextChildren', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1RemoveContextChildrenRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_remove_context_children_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1RemoveContextChildrenResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1RemoveContextChildrenResponse
          command.params['context'] = context unless context.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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`.
        # @param [String] name
        #   The name of the operation resource to be cancelled.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def cancel_project_location_metadata_store_context_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:cancel', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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`.
        # @param [String] name
        #   The name of the operation resource to be deleted.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_metadata_store_context_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] name
        #   The name of the operation resource.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_metadata_store_context_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists operations that match the specified filter in the request. If the server
        # doesn't support this method, it returns `UNIMPLEMENTED`.
        # @param [String] name
        #   The name of the operation's parent resource.
        # @param [String] filter
        #   The standard list filter.
        # @param [Fixnum] page_size
        #   The standard list page size.
        # @param [String] page_token
        #   The standard list page token.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_metadata_store_context_operations(name, filter: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}/operations', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse
          command.params['name'] = name unless name.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] name
        #   The name of the operation resource to wait on.
        # @param [String] 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.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def wait_project_location_metadata_store_context_operation(name, timeout: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:wait', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['timeout'] = timeout unless timeout.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] execution
        #   Required. The resource name of the Execution that the Events connect Artifacts
        #   with. Format: `projects/`project`/locations/`location`/metadataStores/`
        #   metadatastore`/executions/`execution``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1AddExecutionEventsRequest] google_cloud_aiplatform_v1_add_execution_events_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1AddExecutionEventsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1AddExecutionEventsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def add_project_location_metadata_store_execution_execution_events(execution, google_cloud_aiplatform_v1_add_execution_events_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+execution}:addExecutionEvents', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1AddExecutionEventsRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_add_execution_events_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1AddExecutionEventsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1AddExecutionEventsResponse
          command.params['execution'] = execution unless execution.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Creates an Execution associated with a MetadataStore.
        # @param [String] parent
        #   Required. The resource name of the MetadataStore where the Execution should be
        #   created. Format: `projects/`project`/locations/`location`/metadataStores/`
        #   metadatastore``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Execution] google_cloud_aiplatform_v1_execution_object
        # @param [String] execution_id
        #   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.)
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Execution] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Execution]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def create_project_location_metadata_store_execution(parent, google_cloud_aiplatform_v1_execution_object = nil, execution_id: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+parent}/executions', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Execution::Representation
          command.request_object = google_cloud_aiplatform_v1_execution_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Execution::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Execution
          command.params['parent'] = parent unless parent.nil?
          command.query['executionId'] = execution_id unless execution_id.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Deletes an Execution.
        # @param [String] name
        #   Required. The resource name of the Execution to delete. Format: `projects/`
        #   project`/locations/`location`/metadataStores/`metadatastore`/executions/`
        #   execution``
        # @param [String] etag
        #   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.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_metadata_store_execution(name, etag: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['etag'] = etag unless etag.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Retrieves a specific Execution.
        # @param [String] name
        #   Required. The resource name of the Execution to retrieve. Format: `projects/`
        #   project`/locations/`location`/metadataStores/`metadatastore`/executions/`
        #   execution``
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Execution] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Execution]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_metadata_store_execution(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Execution::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Execution
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists Executions in the MetadataStore.
        # @param [String] parent
        #   Required. The MetadataStore whose Executions should be listed. Format: `
        #   projects/`project`/locations/`location`/metadataStores/`metadatastore``
        # @param [String] 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`.
        # @param [String] order_by
        #   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.
        # @param [Fixnum] page_size
        #   The maximum number of Executions to return. The service may return fewer. Must
        #   be in range 1-100, inclusive. Defaults to 100.
        # @param [String] page_token
        #   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.)
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListExecutionsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListExecutionsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_metadata_store_executions(parent, filter: nil, order_by: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+parent}/executions', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListExecutionsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListExecutionsResponse
          command.params['parent'] = parent unless parent.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['orderBy'] = order_by unless order_by.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Updates a stored Execution.
        # @param [String] name
        #   Output only. The resource name of the Execution.
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Execution] google_cloud_aiplatform_v1_execution_object
        # @param [Boolean] allow_missing
        #   If set to true, and the Execution is not found, a new Execution is created.
        # @param [String] update_mask
        #   Optional. A FieldMask indicating which fields should be updated.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Execution] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Execution]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def patch_project_location_metadata_store_execution(name, google_cloud_aiplatform_v1_execution_object = nil, allow_missing: nil, update_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:patch, 'v1/{+name}', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Execution::Representation
          command.request_object = google_cloud_aiplatform_v1_execution_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Execution::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Execution
          command.params['name'] = name unless name.nil?
          command.query['allowMissing'] = allow_missing unless allow_missing.nil?
          command.query['updateMask'] = update_mask unless update_mask.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Purges Executions.
        # @param [String] parent
        #   Required. The metadata store to purge Executions from. Format: `projects/`
        #   project`/locations/`location`/metadataStores/`metadatastore``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1PurgeExecutionsRequest] google_cloud_aiplatform_v1_purge_executions_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def purge_project_location_metadata_store_execution(parent, google_cloud_aiplatform_v1_purge_executions_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+parent}/executions:purge', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1PurgeExecutionsRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_purge_executions_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['parent'] = parent unless parent.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Obtains the set of input and output Artifacts for this Execution, in the form
        # of LineageSubgraph that also contains the Execution and connecting Events.
        # @param [String] execution
        #   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``
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1LineageSubgraph] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1LineageSubgraph]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def query_project_location_metadata_store_execution_execution_inputs_and_outputs(execution, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+execution}:queryExecutionInputsAndOutputs', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1LineageSubgraph::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1LineageSubgraph
          command.params['execution'] = execution unless execution.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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`.
        # @param [String] name
        #   The name of the operation resource to be cancelled.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def cancel_project_location_metadata_store_execution_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:cancel', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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`.
        # @param [String] name
        #   The name of the operation resource to be deleted.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_metadata_store_execution_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] name
        #   The name of the operation resource.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_metadata_store_execution_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists operations that match the specified filter in the request. If the server
        # doesn't support this method, it returns `UNIMPLEMENTED`.
        # @param [String] name
        #   The name of the operation's parent resource.
        # @param [String] filter
        #   The standard list filter.
        # @param [Fixnum] page_size
        #   The standard list page size.
        # @param [String] page_token
        #   The standard list page token.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_metadata_store_execution_operations(name, filter: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}/operations', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse
          command.params['name'] = name unless name.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] name
        #   The name of the operation resource to wait on.
        # @param [String] 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.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def wait_project_location_metadata_store_execution_operation(name, timeout: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:wait', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['timeout'] = timeout unless timeout.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Creates a MetadataSchema.
        # @param [String] parent
        #   Required. The resource name of the MetadataStore where the MetadataSchema
        #   should be created. Format: `projects/`project`/locations/`location`/
        #   metadataStores/`metadatastore``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1MetadataSchema] google_cloud_aiplatform_v1_metadata_schema_object
        # @param [String] metadata_schema_id
        #   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.)
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1MetadataSchema] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1MetadataSchema]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def create_project_location_metadata_store_metadata_schema(parent, google_cloud_aiplatform_v1_metadata_schema_object = nil, metadata_schema_id: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+parent}/metadataSchemas', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1MetadataSchema::Representation
          command.request_object = google_cloud_aiplatform_v1_metadata_schema_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1MetadataSchema::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1MetadataSchema
          command.params['parent'] = parent unless parent.nil?
          command.query['metadataSchemaId'] = metadata_schema_id unless metadata_schema_id.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Retrieves a specific MetadataSchema.
        # @param [String] name
        #   Required. The resource name of the MetadataSchema to retrieve. Format: `
        #   projects/`project`/locations/`location`/metadataStores/`metadatastore`/
        #   metadataSchemas/`metadataschema``
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1MetadataSchema] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1MetadataSchema]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_metadata_store_metadata_schema(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1MetadataSchema::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1MetadataSchema
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists MetadataSchemas.
        # @param [String] parent
        #   Required. The MetadataStore whose MetadataSchemas should be listed. Format: `
        #   projects/`project`/locations/`location`/metadataStores/`metadatastore``
        # @param [String] filter
        #   A query to filter available MetadataSchemas for matching results.
        # @param [Fixnum] page_size
        #   The maximum number of MetadataSchemas to return. The service may return fewer.
        #   Must be in range 1-100, inclusive. Defaults to 100.
        # @param [String] page_token
        #   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.)
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListMetadataSchemasResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListMetadataSchemasResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_metadata_store_metadata_schemas(parent, filter: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+parent}/metadataSchemas', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListMetadataSchemasResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListMetadataSchemasResponse
          command.params['parent'] = parent unless parent.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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`.
        # @param [String] name
        #   The name of the operation resource to be cancelled.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def cancel_project_location_metadata_store_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:cancel', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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`.
        # @param [String] name
        #   The name of the operation resource to be deleted.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_metadata_store_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] name
        #   The name of the operation resource.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_metadata_store_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists operations that match the specified filter in the request. If the server
        # doesn't support this method, it returns `UNIMPLEMENTED`.
        # @param [String] name
        #   The name of the operation's parent resource.
        # @param [String] filter
        #   The standard list filter.
        # @param [Fixnum] page_size
        #   The standard list page size.
        # @param [String] page_token
        #   The standard list page token.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_metadata_store_operations(name, filter: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}/operations', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse
          command.params['name'] = name unless name.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] name
        #   The name of the operation resource to wait on.
        # @param [String] 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.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def wait_project_location_metadata_store_operation(name, timeout: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:wait', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['timeout'] = timeout unless timeout.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Batch migrates resources from ml.googleapis.com, automl.googleapis.com, and
        # datalabeling.googleapis.com to Vertex AI.
        # @param [String] parent
        #   Required. The location of the migrated resource will live in. Format: `
        #   projects/`project`/locations/`location``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1BatchMigrateResourcesRequest] google_cloud_aiplatform_v1_batch_migrate_resources_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def batch_project_location_migratable_resource_migrate(parent, google_cloud_aiplatform_v1_batch_migrate_resources_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+parent}/migratableResources:batchMigrate', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1BatchMigrateResourcesRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_batch_migrate_resources_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['parent'] = parent unless parent.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] parent
        #   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``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1SearchMigratableResourcesRequest] google_cloud_aiplatform_v1_search_migratable_resources_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1SearchMigratableResourcesResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1SearchMigratableResourcesResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def search_project_location_migratable_resources(parent, google_cloud_aiplatform_v1_search_migratable_resources_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+parent}/migratableResources:search', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1SearchMigratableResourcesRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_search_migratable_resources_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1SearchMigratableResourcesResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1SearchMigratableResourcesResponse
          command.params['parent'] = parent unless parent.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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`.
        # @param [String] name
        #   The name of the operation resource to be cancelled.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def cancel_project_location_migratable_resource_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:cancel', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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`.
        # @param [String] name
        #   The name of the operation resource to be deleted.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_migratable_resource_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] name
        #   The name of the operation resource.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_migratable_resource_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists operations that match the specified filter in the request. If the server
        # doesn't support this method, it returns `UNIMPLEMENTED`.
        # @param [String] name
        #   The name of the operation's parent resource.
        # @param [String] filter
        #   The standard list filter.
        # @param [Fixnum] page_size
        #   The standard list page size.
        # @param [String] page_token
        #   The standard list page token.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_migratable_resource_operations(name, filter: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}/operations', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse
          command.params['name'] = name unless name.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] name
        #   The name of the operation resource to wait on.
        # @param [String] 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.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def wait_project_location_migratable_resource_operation(name, timeout: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:wait', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['timeout'] = timeout unless timeout.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Creates a ModelDeploymentMonitoringJob. It will run periodically on a
        # configured interval.
        # @param [String] parent
        #   Required. The parent of the ModelDeploymentMonitoringJob. Format: `projects/`
        #   project`/locations/`location``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ModelDeploymentMonitoringJob] google_cloud_aiplatform_v1_model_deployment_monitoring_job_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ModelDeploymentMonitoringJob] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ModelDeploymentMonitoringJob]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def create_project_location_model_deployment_monitoring_job(parent, google_cloud_aiplatform_v1_model_deployment_monitoring_job_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+parent}/modelDeploymentMonitoringJobs', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ModelDeploymentMonitoringJob::Representation
          command.request_object = google_cloud_aiplatform_v1_model_deployment_monitoring_job_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ModelDeploymentMonitoringJob::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ModelDeploymentMonitoringJob
          command.params['parent'] = parent unless parent.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Deletes a ModelDeploymentMonitoringJob.
        # @param [String] name
        #   Required. The resource name of the model monitoring job to delete. Format: `
        #   projects/`project`/locations/`location`/modelDeploymentMonitoringJobs/`
        #   model_deployment_monitoring_job``
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_model_deployment_monitoring_job(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Gets a ModelDeploymentMonitoringJob.
        # @param [String] name
        #   Required. The resource name of the ModelDeploymentMonitoringJob. Format: `
        #   projects/`project`/locations/`location`/modelDeploymentMonitoringJobs/`
        #   model_deployment_monitoring_job``
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ModelDeploymentMonitoringJob] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ModelDeploymentMonitoringJob]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_model_deployment_monitoring_job(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ModelDeploymentMonitoringJob::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ModelDeploymentMonitoringJob
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists ModelDeploymentMonitoringJobs in a Location.
        # @param [String] parent
        #   Required. The parent of the ModelDeploymentMonitoringJob. Format: `projects/`
        #   project`/locations/`location``
        # @param [String] 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:*`
        # @param [Fixnum] page_size
        #   The standard list page size.
        # @param [String] page_token
        #   The standard list page token.
        # @param [String] read_mask
        #   Mask specifying which fields to read
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListModelDeploymentMonitoringJobsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListModelDeploymentMonitoringJobsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_model_deployment_monitoring_jobs(parent, filter: nil, page_size: nil, page_token: nil, read_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+parent}/modelDeploymentMonitoringJobs', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListModelDeploymentMonitoringJobsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListModelDeploymentMonitoringJobsResponse
          command.params['parent'] = parent unless parent.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['readMask'] = read_mask unless read_mask.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Updates a ModelDeploymentMonitoringJob.
        # @param [String] name
        #   Output only. Resource name of a ModelDeploymentMonitoringJob.
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ModelDeploymentMonitoringJob] google_cloud_aiplatform_v1_model_deployment_monitoring_job_object
        # @param [String] update_mask
        #   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`
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def patch_project_location_model_deployment_monitoring_job(name, google_cloud_aiplatform_v1_model_deployment_monitoring_job_object = nil, update_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:patch, 'v1/{+name}', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ModelDeploymentMonitoringJob::Representation
          command.request_object = google_cloud_aiplatform_v1_model_deployment_monitoring_job_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['updateMask'] = update_mask unless update_mask.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Pauses a ModelDeploymentMonitoringJob. If the job is running, the server makes
        # a best effort to cancel the job. Will mark ModelDeploymentMonitoringJob.state
        # to 'PAUSED'.
        # @param [String] name
        #   Required. The resource name of the ModelDeploymentMonitoringJob to pause.
        #   Format: `projects/`project`/locations/`location`/modelDeploymentMonitoringJobs/
        #   `model_deployment_monitoring_job``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1PauseModelDeploymentMonitoringJobRequest] google_cloud_aiplatform_v1_pause_model_deployment_monitoring_job_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def pause_project_location_model_deployment_monitoring_job(name, google_cloud_aiplatform_v1_pause_model_deployment_monitoring_job_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:pause', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1PauseModelDeploymentMonitoringJobRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_pause_model_deployment_monitoring_job_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Resumes a paused ModelDeploymentMonitoringJob. It will start to run from next
        # scheduled time. A deleted ModelDeploymentMonitoringJob can't be resumed.
        # @param [String] name
        #   Required. The resource name of the ModelDeploymentMonitoringJob to resume.
        #   Format: `projects/`project`/locations/`location`/modelDeploymentMonitoringJobs/
        #   `model_deployment_monitoring_job``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ResumeModelDeploymentMonitoringJobRequest] google_cloud_aiplatform_v1_resume_model_deployment_monitoring_job_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def resume_project_location_model_deployment_monitoring_job(name, google_cloud_aiplatform_v1_resume_model_deployment_monitoring_job_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:resume', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ResumeModelDeploymentMonitoringJobRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_resume_model_deployment_monitoring_job_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Searches Model Monitoring Statistics generated within a given time window.
        # @param [String] model_deployment_monitoring_job
        #   Required. ModelDeploymentMonitoring Job resource name. Format: `projects/`
        #   project`/locations/`location`/modelDeploymentMonitoringJobs/`
        #   model_deployment_monitoring_job``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1SearchModelDeploymentMonitoringStatsAnomaliesRequest] google_cloud_aiplatform_v1_search_model_deployment_monitoring_stats_anomalies_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1SearchModelDeploymentMonitoringStatsAnomaliesResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1SearchModelDeploymentMonitoringStatsAnomaliesResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def search_project_location_model_deployment_monitoring_job_model_deployment_monitoring_stats_anomalies(model_deployment_monitoring_job, google_cloud_aiplatform_v1_search_model_deployment_monitoring_stats_anomalies_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+modelDeploymentMonitoringJob}:searchModelDeploymentMonitoringStatsAnomalies', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1SearchModelDeploymentMonitoringStatsAnomaliesRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_search_model_deployment_monitoring_stats_anomalies_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1SearchModelDeploymentMonitoringStatsAnomaliesResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1SearchModelDeploymentMonitoringStatsAnomaliesResponse
          command.params['modelDeploymentMonitoringJob'] = model_deployment_monitoring_job unless model_deployment_monitoring_job.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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`.
        # @param [String] name
        #   The name of the operation resource to be cancelled.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def cancel_project_location_model_deployment_monitoring_job_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:cancel', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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`.
        # @param [String] name
        #   The name of the operation resource to be deleted.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_model_deployment_monitoring_job_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] name
        #   The name of the operation resource.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_model_deployment_monitoring_job_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists operations that match the specified filter in the request. If the server
        # doesn't support this method, it returns `UNIMPLEMENTED`.
        # @param [String] name
        #   The name of the operation's parent resource.
        # @param [String] filter
        #   The standard list filter.
        # @param [Fixnum] page_size
        #   The standard list page size.
        # @param [String] page_token
        #   The standard list page token.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_model_deployment_monitoring_job_operations(name, filter: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}/operations', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse
          command.params['name'] = name unless name.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] name
        #   The name of the operation resource to wait on.
        # @param [String] 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.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def wait_project_location_model_deployment_monitoring_job_operation(name, timeout: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:wait', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['timeout'] = timeout unless timeout.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] parent
        #   Required. The resource name of the Location into which to copy the Model.
        #   Format: `projects/`project`/locations/`location``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1CopyModelRequest] google_cloud_aiplatform_v1_copy_model_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def copy_project_location_model(parent, google_cloud_aiplatform_v1_copy_model_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+parent}/models:copy', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1CopyModelRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_copy_model_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['parent'] = parent unless parent.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Deletes a Model. A model cannot be deleted if any Endpoint resource has a
        # DeployedModel based on the model in its deployed_models field.
        # @param [String] name
        #   Required. The name of the Model resource to be deleted. Format: `projects/`
        #   project`/locations/`location`/models/`model``
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_model(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] name
        #   Required. The name of the model version to be deleted, with a version ID
        #   explicitly included. Example: `projects/`project`/locations/`location`/models/`
        #   model`@1234`
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_model_version(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1/{+name}:deleteVersion', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] name
        #   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.
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ExportModelRequest] google_cloud_aiplatform_v1_export_model_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def export_project_location_model(name, google_cloud_aiplatform_v1_export_model_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:export', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ExportModelRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_export_model_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Gets a Model.
        # @param [String] name
        #   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.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Model] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Model]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_model(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Model::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Model
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Gets the access control policy for a resource. Returns an empty policy if the
        # resource exists and does not have a policy set.
        # @param [String] 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.
        # @param [Fixnum] options_requested_policy_version
        #   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).
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleIamV1Policy] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleIamV1Policy]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_model_iam_policy(resource, options_requested_policy_version: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+resource}:getIamPolicy', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleIamV1Policy::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleIamV1Policy
          command.params['resource'] = resource unless resource.nil?
          command.query['options.requestedPolicyVersion'] = options_requested_policy_version unless options_requested_policy_version.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists Models in a Location.
        # @param [String] parent
        #   Required. The resource name of the Location to list the Models from. Format: `
        #   projects/`project`/locations/`location``
        # @param [String] filter
        #   An expression for filtering the results of the request. For field names both
        #   snake_case and camelCase are supported. * `model` supports = and !=. `model`
        #   represents the Model ID, i.e. the last segment of the Model's resource name. *
        #   `display_name` supports = and != * `labels` supports general map functions
        #   that is: * `labels.key=value` - key:value equality * `labels.key:* or labels:
        #   key - key existence * A key including a space must be quoted. `labels."a key"`.
        #   * `base_model_name` only supports = Some examples: * `model=1234` * `
        #   displayName="myDisplayName"` * `labels.myKey="myValue"` * `baseModelName="text-
        #   bison"`
        # @param [String] order_by
        #   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`.
        # @param [Fixnum] page_size
        #   The standard list page size.
        # @param [String] page_token
        #   The standard list page token. Typically obtained via ListModelsResponse.
        #   next_page_token of the previous ModelService.ListModels call.
        # @param [String] read_mask
        #   Mask specifying which fields to read.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListModelsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListModelsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_models(parent, filter: nil, order_by: nil, page_size: nil, page_token: nil, read_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+parent}/models', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListModelsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListModelsResponse
          command.params['parent'] = parent unless parent.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['orderBy'] = order_by unless order_by.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['readMask'] = read_mask unless read_mask.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists checkpoints of the specified model version.
        # @param [String] name
        #   Required. The name of the model version to list checkpoints for. `projects/`
        #   project`/locations/`location`/models/`model`@`version`` Example: `projects/`
        #   project`/locations/`location`/models/`model`@2` or `projects/`project`/
        #   locations/`location`/models/`model`@golden` If no version ID or alias is
        #   specified, the latest version will be used.
        # @param [Fixnum] page_size
        #   Optional. The standard list page size.
        # @param [String] page_token
        #   Optional. The standard list page token. Typically obtained via next_page_token
        #   of the previous ListModelVersionCheckpoints call.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListModelVersionCheckpointsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListModelVersionCheckpointsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_model_checkpoints(name, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}:listCheckpoints', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListModelVersionCheckpointsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListModelVersionCheckpointsResponse
          command.params['name'] = name unless name.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists versions of the specified model.
        # @param [String] name
        #   Required. The name of the model to list versions for.
        # @param [String] 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"`
        # @param [String] order_by
        #   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`.
        # @param [Fixnum] page_size
        #   The standard list page size.
        # @param [String] page_token
        #   The standard list page token. Typically obtained via next_page_token of the
        #   previous ListModelVersions call.
        # @param [String] read_mask
        #   Mask specifying which fields to read.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListModelVersionsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListModelVersionsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_model_versions(name, filter: nil, order_by: nil, page_size: nil, page_token: nil, read_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}:listVersions', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListModelVersionsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListModelVersionsResponse
          command.params['name'] = name unless name.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['orderBy'] = order_by unless order_by.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['readMask'] = read_mask unless read_mask.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Merges a set of aliases for a Model version.
        # @param [String] name
        #   Required. The name of the model version to merge aliases, with a version ID
        #   explicitly included. Example: `projects/`project`/locations/`location`/models/`
        #   model`@1234`
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1MergeVersionAliasesRequest] google_cloud_aiplatform_v1_merge_version_aliases_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Model] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Model]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def merge_project_location_model_version_aliases(name, google_cloud_aiplatform_v1_merge_version_aliases_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:mergeVersionAliases', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1MergeVersionAliasesRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_merge_version_aliases_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Model::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Model
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Updates a Model.
        # @param [String] name
        #   The resource name of the Model.
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Model] google_cloud_aiplatform_v1_model_object
        # @param [String] update_mask
        #   Required. The update mask applies to the resource. For the `FieldMask`
        #   definition, see google.protobuf.FieldMask.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Model] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Model]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def patch_project_location_model(name, google_cloud_aiplatform_v1_model_object = nil, update_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:patch, 'v1/{+name}', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Model::Representation
          command.request_object = google_cloud_aiplatform_v1_model_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Model::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Model
          command.params['name'] = name unless name.nil?
          command.query['updateMask'] = update_mask unless update_mask.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Sets the access control policy on the specified resource. Replaces any
        # existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `
        # PERMISSION_DENIED` errors.
        # @param [String] 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.
        # @param [Google::Apis::AiplatformV1::GoogleIamV1SetIamPolicyRequest] google_iam_v1_set_iam_policy_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleIamV1Policy] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleIamV1Policy]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def set_project_location_model_iam_policy(resource, google_iam_v1_set_iam_policy_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+resource}:setIamPolicy', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleIamV1SetIamPolicyRequest::Representation
          command.request_object = google_iam_v1_set_iam_policy_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleIamV1Policy::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleIamV1Policy
          command.params['resource'] = resource unless resource.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] 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.
        # @param [Array<String>, String] 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).
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleIamV1TestIamPermissionsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleIamV1TestIamPermissionsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def test_project_location_model_iam_permissions(resource, permissions: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+resource}:testIamPermissions', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleIamV1TestIamPermissionsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleIamV1TestIamPermissionsResponse
          command.params['resource'] = resource unless resource.nil?
          command.query['permissions'] = permissions unless permissions.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Incrementally update the dataset used for an examples model.
        # @param [String] model
        #   Required. The resource name of the Model to update. Format: `projects/`project`
        #   /locations/`location`/models/`model``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1UpdateExplanationDatasetRequest] google_cloud_aiplatform_v1_update_explanation_dataset_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def update_project_location_model_explanation_dataset(model, google_cloud_aiplatform_v1_update_explanation_dataset_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+model}:updateExplanationDataset', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1UpdateExplanationDatasetRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_update_explanation_dataset_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['model'] = model unless model.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Uploads a Model artifact into Vertex AI.
        # @param [String] parent
        #   Required. The resource name of the Location into which to upload the Model.
        #   Format: `projects/`project`/locations/`location``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1UploadModelRequest] google_cloud_aiplatform_v1_upload_model_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def upload_project_location_model(parent, google_cloud_aiplatform_v1_upload_model_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+parent}/models:upload', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1UploadModelRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_upload_model_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['parent'] = parent unless parent.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Gets a ModelEvaluation.
        # @param [String] name
        #   Required. The name of the ModelEvaluation resource. Format: `projects/`project`
        #   /locations/`location`/models/`model`/evaluations/`evaluation``
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ModelEvaluation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ModelEvaluation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_model_evaluation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ModelEvaluation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ModelEvaluation
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Imports an externally generated ModelEvaluation.
        # @param [String] parent
        #   Required. The name of the parent model resource. Format: `projects/`project`/
        #   locations/`location`/models/`model``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ImportModelEvaluationRequest] google_cloud_aiplatform_v1_import_model_evaluation_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ModelEvaluation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ModelEvaluation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def import_project_location_model_evaluation(parent, google_cloud_aiplatform_v1_import_model_evaluation_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+parent}/evaluations:import', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ImportModelEvaluationRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_import_model_evaluation_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ModelEvaluation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ModelEvaluation
          command.params['parent'] = parent unless parent.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists ModelEvaluations in a Model.
        # @param [String] parent
        #   Required. The resource name of the Model to list the ModelEvaluations from.
        #   Format: `projects/`project`/locations/`location`/models/`model``
        # @param [String] filter
        #   The standard list filter.
        # @param [Fixnum] page_size
        #   The standard list page size.
        # @param [String] page_token
        #   The standard list page token. Typically obtained via
        #   ListModelEvaluationsResponse.next_page_token of the previous ModelService.
        #   ListModelEvaluations call.
        # @param [String] read_mask
        #   Mask specifying which fields to read.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListModelEvaluationsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListModelEvaluationsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_model_evaluations(parent, filter: nil, page_size: nil, page_token: nil, read_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+parent}/evaluations', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListModelEvaluationsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListModelEvaluationsResponse
          command.params['parent'] = parent unless parent.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['readMask'] = read_mask unless read_mask.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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`.
        # @param [String] name
        #   The name of the operation resource to be cancelled.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def cancel_project_location_model_evaluation_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:cancel', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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`.
        # @param [String] name
        #   The name of the operation resource to be deleted.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_model_evaluation_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] name
        #   The name of the operation resource.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_model_evaluation_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists operations that match the specified filter in the request. If the server
        # doesn't support this method, it returns `UNIMPLEMENTED`.
        # @param [String] name
        #   The name of the operation's parent resource.
        # @param [String] filter
        #   The standard list filter.
        # @param [Fixnum] page_size
        #   The standard list page size.
        # @param [String] page_token
        #   The standard list page token.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_model_evaluation_operations(name, filter: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}/operations', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse
          command.params['name'] = name unless name.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] name
        #   The name of the operation resource to wait on.
        # @param [String] 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.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def wait_project_location_model_evaluation_operation(name, timeout: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:wait', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['timeout'] = timeout unless timeout.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Imports a list of externally generated EvaluatedAnnotations.
        # @param [String] parent
        #   Required. The name of the parent ModelEvaluationSlice resource. Format: `
        #   projects/`project`/locations/`location`/models/`model`/evaluations/`evaluation`
        #   /slices/`slice``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1BatchImportEvaluatedAnnotationsRequest] google_cloud_aiplatform_v1_batch_import_evaluated_annotations_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1BatchImportEvaluatedAnnotationsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1BatchImportEvaluatedAnnotationsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def batch_project_location_model_evaluation_slice_import(parent, google_cloud_aiplatform_v1_batch_import_evaluated_annotations_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+parent}:batchImport', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1BatchImportEvaluatedAnnotationsRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_batch_import_evaluated_annotations_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1BatchImportEvaluatedAnnotationsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1BatchImportEvaluatedAnnotationsResponse
          command.params['parent'] = parent unless parent.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Gets a ModelEvaluationSlice.
        # @param [String] name
        #   Required. The name of the ModelEvaluationSlice resource. Format: `projects/`
        #   project`/locations/`location`/models/`model`/evaluations/`evaluation`/slices/`
        #   slice``
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ModelEvaluationSlice] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ModelEvaluationSlice]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_model_evaluation_slice(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ModelEvaluationSlice::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ModelEvaluationSlice
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists ModelEvaluationSlices in a ModelEvaluation.
        # @param [String] parent
        #   Required. The resource name of the ModelEvaluation to list the
        #   ModelEvaluationSlices from. Format: `projects/`project`/locations/`location`/
        #   models/`model`/evaluations/`evaluation``
        # @param [String] filter
        #   The standard list filter. * `slice.dimension` - for =.
        # @param [Fixnum] page_size
        #   The standard list page size.
        # @param [String] page_token
        #   The standard list page token. Typically obtained via
        #   ListModelEvaluationSlicesResponse.next_page_token of the previous ModelService.
        #   ListModelEvaluationSlices call.
        # @param [String] read_mask
        #   Mask specifying which fields to read.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListModelEvaluationSlicesResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListModelEvaluationSlicesResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_model_evaluation_slices(parent, filter: nil, page_size: nil, page_token: nil, read_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+parent}/slices', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListModelEvaluationSlicesResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListModelEvaluationSlicesResponse
          command.params['parent'] = parent unless parent.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['readMask'] = read_mask unless read_mask.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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`.
        # @param [String] name
        #   The name of the operation resource to be cancelled.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def cancel_project_location_model_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:cancel', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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`.
        # @param [String] name
        #   The name of the operation resource to be deleted.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_model_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] name
        #   The name of the operation resource.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_model_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists operations that match the specified filter in the request. If the server
        # doesn't support this method, it returns `UNIMPLEMENTED`.
        # @param [String] name
        #   The name of the operation's parent resource.
        # @param [String] filter
        #   The standard list filter.
        # @param [Fixnum] page_size
        #   The standard list page size.
        # @param [String] page_token
        #   The standard list page token.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_model_operations(name, filter: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}/operations', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse
          command.params['name'] = name unless name.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] name
        #   The name of the operation resource to wait on.
        # @param [String] 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.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def wait_project_location_model_operation(name, timeout: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:wait', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['timeout'] = timeout unless timeout.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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`.
        # @param [String] name
        #   Required. The name of the NasJob to cancel. Format: `projects/`project`/
        #   locations/`location`/nasJobs/`nas_job``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1CancelNasJobRequest] google_cloud_aiplatform_v1_cancel_nas_job_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def cancel_project_location_nas_job(name, google_cloud_aiplatform_v1_cancel_nas_job_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:cancel', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1CancelNasJobRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_cancel_nas_job_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Creates a NasJob
        # @param [String] parent
        #   Required. The resource name of the Location to create the NasJob in. Format: `
        #   projects/`project`/locations/`location``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1NasJob] google_cloud_aiplatform_v1_nas_job_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1NasJob] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1NasJob]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def create_project_location_nas_job(parent, google_cloud_aiplatform_v1_nas_job_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+parent}/nasJobs', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1NasJob::Representation
          command.request_object = google_cloud_aiplatform_v1_nas_job_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1NasJob::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1NasJob
          command.params['parent'] = parent unless parent.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Deletes a NasJob.
        # @param [String] name
        #   Required. The name of the NasJob resource to be deleted. Format: `projects/`
        #   project`/locations/`location`/nasJobs/`nas_job``
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_nas_job(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Gets a NasJob
        # @param [String] name
        #   Required. The name of the NasJob resource. Format: `projects/`project`/
        #   locations/`location`/nasJobs/`nas_job``
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1NasJob] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1NasJob]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_nas_job(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1NasJob::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1NasJob
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists NasJobs in a Location.
        # @param [String] parent
        #   Required. The resource name of the Location to list the NasJobs from. Format: `
        #   projects/`project`/locations/`location``
        # @param [String] 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:*`
        # @param [Fixnum] page_size
        #   The standard list page size.
        # @param [String] page_token
        #   The standard list page token. Typically obtained via ListNasJobsResponse.
        #   next_page_token of the previous JobService.ListNasJobs call.
        # @param [String] read_mask
        #   Mask specifying which fields to read.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListNasJobsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListNasJobsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_nas_jobs(parent, filter: nil, page_size: nil, page_token: nil, read_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+parent}/nasJobs', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListNasJobsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListNasJobsResponse
          command.params['parent'] = parent unless parent.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['readMask'] = read_mask unless read_mask.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Gets a NasTrialDetail.
        # @param [String] name
        #   Required. The name of the NasTrialDetail resource. Format: `projects/`project`/
        #   locations/`location`/nasJobs/`nas_job`/nasTrialDetails/`nas_trial_detail``
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1NasTrialDetail] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1NasTrialDetail]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_nas_job_nas_trial_detail(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1NasTrialDetail::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1NasTrialDetail
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # List top NasTrialDetails of a NasJob.
        # @param [String] parent
        #   Required. The name of the NasJob resource. Format: `projects/`project`/
        #   locations/`location`/nasJobs/`nas_job``
        # @param [Fixnum] page_size
        #   The standard list page size.
        # @param [String] page_token
        #   The standard list page token. Typically obtained via
        #   ListNasTrialDetailsResponse.next_page_token of the previous JobService.
        #   ListNasTrialDetails call.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListNasTrialDetailsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListNasTrialDetailsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_nas_job_nas_trial_details(parent, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+parent}/nasTrialDetails', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListNasTrialDetailsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListNasTrialDetailsResponse
          command.params['parent'] = parent unless parent.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Creates a NotebookExecutionJob.
        # @param [String] parent
        #   Required. The resource name of the Location to create the NotebookExecutionJob.
        #   Format: `projects/`project`/locations/`location``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1NotebookExecutionJob] google_cloud_aiplatform_v1_notebook_execution_job_object
        # @param [String] notebook_execution_job_id
        #   Optional. User specified ID for the NotebookExecutionJob.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def create_project_location_notebook_execution_job(parent, google_cloud_aiplatform_v1_notebook_execution_job_object = nil, notebook_execution_job_id: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+parent}/notebookExecutionJobs', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1NotebookExecutionJob::Representation
          command.request_object = google_cloud_aiplatform_v1_notebook_execution_job_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['parent'] = parent unless parent.nil?
          command.query['notebookExecutionJobId'] = notebook_execution_job_id unless notebook_execution_job_id.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Deletes a NotebookExecutionJob.
        # @param [String] name
        #   Required. The name of the NotebookExecutionJob resource to be deleted.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_notebook_execution_job(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Gets a NotebookExecutionJob.
        # @param [String] name
        #   Required. The name of the NotebookExecutionJob resource.
        # @param [String] view
        #   Optional. The NotebookExecutionJob view. Defaults to BASIC.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1NotebookExecutionJob] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1NotebookExecutionJob]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_notebook_execution_job(name, view: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1NotebookExecutionJob::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1NotebookExecutionJob
          command.params['name'] = name unless name.nil?
          command.query['view'] = view unless view.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists NotebookExecutionJobs in a Location.
        # @param [String] parent
        #   Required. The resource name of the Location from which to list the
        #   NotebookExecutionJobs. Format: `projects/`project`/locations/`location``
        # @param [String] filter
        #   Optional. An expression for filtering the results of the request. For field
        #   names both snake_case and camelCase are supported. * `notebookExecutionJob`
        #   supports = and !=. `notebookExecutionJob` represents the NotebookExecutionJob
        #   ID. * `displayName` supports = and != and regex. * `schedule` supports = and !=
        #   and regex. Some examples: * `notebookExecutionJob="123"` * `
        #   notebookExecutionJob="my-execution-job"` * `displayName="myDisplayName"` and `
        #   displayName=~"myDisplayNameRegex"`
        # @param [String] order_by
        #   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`.
        # @param [Fixnum] page_size
        #   Optional. The standard list page size.
        # @param [String] page_token
        #   Optional. The standard list page token. Typically obtained via
        #   ListNotebookExecutionJobsResponse.next_page_token of the previous
        #   NotebookService.ListNotebookExecutionJobs call.
        # @param [String] view
        #   Optional. The NotebookExecutionJob view. Defaults to BASIC.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListNotebookExecutionJobsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListNotebookExecutionJobsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_notebook_execution_jobs(parent, filter: nil, order_by: nil, page_size: nil, page_token: nil, view: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+parent}/notebookExecutionJobs', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListNotebookExecutionJobsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListNotebookExecutionJobsResponse
          command.params['parent'] = parent unless parent.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['orderBy'] = order_by unless order_by.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['view'] = view unless view.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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`.
        # @param [String] name
        #   The name of the operation resource to be cancelled.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def cancel_project_location_notebook_execution_job_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:cancel', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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`.
        # @param [String] name
        #   The name of the operation resource to be deleted.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_notebook_execution_job_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] name
        #   The name of the operation resource.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_notebook_execution_job_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists operations that match the specified filter in the request. If the server
        # doesn't support this method, it returns `UNIMPLEMENTED`.
        # @param [String] name
        #   The name of the operation's parent resource.
        # @param [String] filter
        #   The standard list filter.
        # @param [Fixnum] page_size
        #   The standard list page size.
        # @param [String] page_token
        #   The standard list page token.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_notebook_execution_job_operations(name, filter: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}/operations', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse
          command.params['name'] = name unless name.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] name
        #   The name of the operation resource to wait on.
        # @param [String] 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.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def wait_project_location_notebook_execution_job_operation(name, timeout: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:wait', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['timeout'] = timeout unless timeout.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Creates a NotebookRuntimeTemplate.
        # @param [String] parent
        #   Required. The resource name of the Location to create the
        #   NotebookRuntimeTemplate. Format: `projects/`project`/locations/`location``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1NotebookRuntimeTemplate] google_cloud_aiplatform_v1_notebook_runtime_template_object
        # @param [String] notebook_runtime_template_id
        #   Optional. User specified ID for the notebook runtime template.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def create_project_location_notebook_runtime_template(parent, google_cloud_aiplatform_v1_notebook_runtime_template_object = nil, notebook_runtime_template_id: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+parent}/notebookRuntimeTemplates', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1NotebookRuntimeTemplate::Representation
          command.request_object = google_cloud_aiplatform_v1_notebook_runtime_template_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['parent'] = parent unless parent.nil?
          command.query['notebookRuntimeTemplateId'] = notebook_runtime_template_id unless notebook_runtime_template_id.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Deletes a NotebookRuntimeTemplate.
        # @param [String] name
        #   Required. The name of the NotebookRuntimeTemplate resource to be deleted.
        #   Format: `projects/`project`/locations/`location`/notebookRuntimeTemplates/`
        #   notebook_runtime_template``
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_notebook_runtime_template(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Gets a NotebookRuntimeTemplate.
        # @param [String] name
        #   Required. The name of the NotebookRuntimeTemplate resource. Format: `projects/`
        #   project`/locations/`location`/notebookRuntimeTemplates/`
        #   notebook_runtime_template``
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1NotebookRuntimeTemplate] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1NotebookRuntimeTemplate]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_notebook_runtime_template(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1NotebookRuntimeTemplate::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1NotebookRuntimeTemplate
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Gets the access control policy for a resource. Returns an empty policy if the
        # resource exists and does not have a policy set.
        # @param [String] 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.
        # @param [Fixnum] options_requested_policy_version
        #   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).
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleIamV1Policy] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleIamV1Policy]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_notebook_runtime_template_iam_policy(resource, options_requested_policy_version: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+resource}:getIamPolicy', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleIamV1Policy::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleIamV1Policy
          command.params['resource'] = resource unless resource.nil?
          command.query['options.requestedPolicyVersion'] = options_requested_policy_version unless options_requested_policy_version.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists NotebookRuntimeTemplates in a Location.
        # @param [String] parent
        #   Required. The resource name of the Location from which to list the
        #   NotebookRuntimeTemplates. Format: `projects/`project`/locations/`location``
        # @param [String] filter
        #   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]. * `machineType`
        #   supports = and !=. * `acceleratorType` supports = and !=. Some examples: * `
        #   notebookRuntimeTemplate=notebookRuntimeTemplate123` * `displayName="
        #   myDisplayName"` * `labels.myKey="myValue"` * `notebookRuntimeType=USER_DEFINED`
        #   * `machineType=e2-standard-4` * `acceleratorType=NVIDIA_TESLA_T4`
        # @param [String] order_by
        #   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`.
        # @param [Fixnum] page_size
        #   Optional. The standard list page size.
        # @param [String] page_token
        #   Optional. The standard list page token. Typically obtained via
        #   ListNotebookRuntimeTemplatesResponse.next_page_token of the previous
        #   NotebookService.ListNotebookRuntimeTemplates call.
        # @param [String] read_mask
        #   Optional. Mask specifying which fields to read.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListNotebookRuntimeTemplatesResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListNotebookRuntimeTemplatesResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_notebook_runtime_templates(parent, filter: nil, order_by: nil, page_size: nil, page_token: nil, read_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+parent}/notebookRuntimeTemplates', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListNotebookRuntimeTemplatesResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListNotebookRuntimeTemplatesResponse
          command.params['parent'] = parent unless parent.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['orderBy'] = order_by unless order_by.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['readMask'] = read_mask unless read_mask.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Updates a NotebookRuntimeTemplate.
        # @param [String] name
        #   The resource name of the NotebookRuntimeTemplate.
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1NotebookRuntimeTemplate] google_cloud_aiplatform_v1_notebook_runtime_template_object
        # @param [String] update_mask
        #   Required. The update mask applies to the resource. For the `FieldMask`
        #   definition, see google.protobuf.FieldMask. Input format: ``paths: "$`
        #   updated_filed`"`` Updatable fields: * `encryption_spec.kms_key_name`
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1NotebookRuntimeTemplate] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1NotebookRuntimeTemplate]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def patch_project_location_notebook_runtime_template(name, google_cloud_aiplatform_v1_notebook_runtime_template_object = nil, update_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:patch, 'v1/{+name}', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1NotebookRuntimeTemplate::Representation
          command.request_object = google_cloud_aiplatform_v1_notebook_runtime_template_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1NotebookRuntimeTemplate::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1NotebookRuntimeTemplate
          command.params['name'] = name unless name.nil?
          command.query['updateMask'] = update_mask unless update_mask.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Sets the access control policy on the specified resource. Replaces any
        # existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `
        # PERMISSION_DENIED` errors.
        # @param [String] 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.
        # @param [Google::Apis::AiplatformV1::GoogleIamV1SetIamPolicyRequest] google_iam_v1_set_iam_policy_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleIamV1Policy] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleIamV1Policy]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def set_project_location_notebook_runtime_template_iam_policy(resource, google_iam_v1_set_iam_policy_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+resource}:setIamPolicy', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleIamV1SetIamPolicyRequest::Representation
          command.request_object = google_iam_v1_set_iam_policy_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleIamV1Policy::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleIamV1Policy
          command.params['resource'] = resource unless resource.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] 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.
        # @param [Array<String>, String] 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).
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleIamV1TestIamPermissionsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleIamV1TestIamPermissionsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def test_project_location_notebook_runtime_template_iam_permissions(resource, permissions: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+resource}:testIamPermissions', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleIamV1TestIamPermissionsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleIamV1TestIamPermissionsResponse
          command.params['resource'] = resource unless resource.nil?
          command.query['permissions'] = permissions unless permissions.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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`.
        # @param [String] name
        #   The name of the operation resource to be cancelled.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def cancel_project_location_notebook_runtime_template_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:cancel', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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`.
        # @param [String] name
        #   The name of the operation resource to be deleted.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_notebook_runtime_template_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] name
        #   The name of the operation resource.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_notebook_runtime_template_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists operations that match the specified filter in the request. If the server
        # doesn't support this method, it returns `UNIMPLEMENTED`.
        # @param [String] name
        #   The name of the operation's parent resource.
        # @param [String] filter
        #   The standard list filter.
        # @param [Fixnum] page_size
        #   The standard list page size.
        # @param [String] page_token
        #   The standard list page token.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_notebook_runtime_template_operations(name, filter: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}/operations', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse
          command.params['name'] = name unless name.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] name
        #   The name of the operation resource to wait on.
        # @param [String] 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.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def wait_project_location_notebook_runtime_template_operation(name, timeout: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:wait', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['timeout'] = timeout unless timeout.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Assigns a NotebookRuntime to a user for a particular Notebook file. This
        # method will either returns an existing assignment or generates a new one.
        # @param [String] parent
        #   Required. The resource name of the Location to get the NotebookRuntime
        #   assignment. Format: `projects/`project`/locations/`location``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1AssignNotebookRuntimeRequest] google_cloud_aiplatform_v1_assign_notebook_runtime_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def assign_project_location_notebook_runtime(parent, google_cloud_aiplatform_v1_assign_notebook_runtime_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+parent}/notebookRuntimes:assign', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1AssignNotebookRuntimeRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_assign_notebook_runtime_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['parent'] = parent unless parent.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Deletes a NotebookRuntime.
        # @param [String] name
        #   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.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_notebook_runtime(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Gets a NotebookRuntime.
        # @param [String] name
        #   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.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1NotebookRuntime] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1NotebookRuntime]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_notebook_runtime(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1NotebookRuntime::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1NotebookRuntime
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists NotebookRuntimes in a Location.
        # @param [String] parent
        #   Required. The resource name of the Location from which to list the
        #   NotebookRuntimes. Format: `projects/`project`/locations/`location``
        # @param [String] filter
        #   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, ERROR, INVALID]. * `runtimeUser` supports = and !=. *
        #   API version is UI only: `uiState` supports = and !=. uiState enum: [
        #   UI_RESOURCE_STATE_UNSPECIFIED, UI_RESOURCE_STATE_BEING_CREATED,
        #   UI_RESOURCE_STATE_ACTIVE, UI_RESOURCE_STATE_BEING_DELETED,
        #   UI_RESOURCE_STATE_CREATION_FAILED]. * `notebookRuntimeType` supports = and !=.
        #   notebookRuntimeType enum: [USER_DEFINED, ONE_CLICK]. * `machineType` supports =
        #   and !=. * `acceleratorType` supports = and !=. Some examples: * `
        #   notebookRuntime="notebookRuntime123"` * `displayName="myDisplayName"` and `
        #   displayName=~"myDisplayNameRegex"` * `notebookRuntimeTemplate="
        #   notebookRuntimeTemplate321"` * `healthState=HEALTHY` * `runtimeState=RUNNING` *
        #   `runtimeUser="test@google.com"` * `uiState=UI_RESOURCE_STATE_BEING_DELETED` *
        #   `notebookRuntimeType=USER_DEFINED` * `machineType=e2-standard-4` * `
        #   acceleratorType=NVIDIA_TESLA_T4`
        # @param [String] order_by
        #   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`.
        # @param [Fixnum] page_size
        #   Optional. The standard list page size.
        # @param [String] page_token
        #   Optional. The standard list page token. Typically obtained via
        #   ListNotebookRuntimesResponse.next_page_token of the previous NotebookService.
        #   ListNotebookRuntimes call.
        # @param [String] read_mask
        #   Optional. Mask specifying which fields to read.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListNotebookRuntimesResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListNotebookRuntimesResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_notebook_runtimes(parent, filter: nil, order_by: nil, page_size: nil, page_token: nil, read_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+parent}/notebookRuntimes', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListNotebookRuntimesResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListNotebookRuntimesResponse
          command.params['parent'] = parent unless parent.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['orderBy'] = order_by unless order_by.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['readMask'] = read_mask unless read_mask.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Starts a NotebookRuntime.
        # @param [String] name
        #   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.
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1StartNotebookRuntimeRequest] google_cloud_aiplatform_v1_start_notebook_runtime_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def start_project_location_notebook_runtime(name, google_cloud_aiplatform_v1_start_notebook_runtime_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:start', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1StartNotebookRuntimeRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_start_notebook_runtime_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Stops a NotebookRuntime.
        # @param [String] name
        #   Required. The name of the NotebookRuntime resource to be stopped. Instead of
        #   checking whether the name is in valid NotebookRuntime resource name format,
        #   directly throw NotFound exception if there is no such NotebookRuntime in
        #   spanner.
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1StopNotebookRuntimeRequest] google_cloud_aiplatform_v1_stop_notebook_runtime_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def stop_project_location_notebook_runtime(name, google_cloud_aiplatform_v1_stop_notebook_runtime_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:stop', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1StopNotebookRuntimeRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_stop_notebook_runtime_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Upgrades a NotebookRuntime.
        # @param [String] name
        #   Required. The name of the NotebookRuntime resource to be upgrade. Instead of
        #   checking whether the name is in valid NotebookRuntime resource name format,
        #   directly throw NotFound exception if there is no such NotebookRuntime in
        #   spanner.
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1UpgradeNotebookRuntimeRequest] google_cloud_aiplatform_v1_upgrade_notebook_runtime_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def upgrade_project_location_notebook_runtime(name, google_cloud_aiplatform_v1_upgrade_notebook_runtime_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:upgrade', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1UpgradeNotebookRuntimeRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_upgrade_notebook_runtime_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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`.
        # @param [String] name
        #   The name of the operation resource to be cancelled.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def cancel_project_location_notebook_runtime_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:cancel', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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`.
        # @param [String] name
        #   The name of the operation resource to be deleted.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_notebook_runtime_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] name
        #   The name of the operation resource.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_notebook_runtime_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists operations that match the specified filter in the request. If the server
        # doesn't support this method, it returns `UNIMPLEMENTED`.
        # @param [String] name
        #   The name of the operation's parent resource.
        # @param [String] filter
        #   The standard list filter.
        # @param [Fixnum] page_size
        #   The standard list page size.
        # @param [String] page_token
        #   The standard list page token.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_notebook_runtime_operations(name, filter: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}/operations', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse
          command.params['name'] = name unless name.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] name
        #   The name of the operation resource to wait on.
        # @param [String] 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.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def wait_project_location_notebook_runtime_operation(name, timeout: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:wait', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['timeout'] = timeout unless timeout.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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`.
        # @param [String] name
        #   The name of the operation resource to be cancelled.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def cancel_project_location_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:cancel', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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`.
        # @param [String] name
        #   The name of the operation resource to be deleted.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] name
        #   The name of the operation resource.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists operations that match the specified filter in the request. If the server
        # doesn't support this method, it returns `UNIMPLEMENTED`.
        # @param [String] name
        #   The name of the operation's parent resource.
        # @param [String] filter
        #   The standard list filter.
        # @param [Fixnum] page_size
        #   The standard list page size.
        # @param [String] page_token
        #   The standard list page token.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_operations(name, filter: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}/operations', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse
          command.params['name'] = name unless name.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] name
        #   The name of the operation resource to wait on.
        # @param [String] 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.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def wait_project_location_operation(name, timeout: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:wait', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['timeout'] = timeout unless timeout.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Creates a PersistentResource.
        # @param [String] parent
        #   Required. The resource name of the Location to create the PersistentResource
        #   in. Format: `projects/`project`/locations/`location``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1PersistentResource] google_cloud_aiplatform_v1_persistent_resource_object
        # @param [String] persistent_resource_id
        #   Required. The ID to use for the PersistentResource, which become the final
        #   component of the PersistentResource's resource name. The maximum length is 63
        #   characters, and valid characters are `/^[a-z]([a-z0-9-]`0,61`[a-z0-9])?$/`.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def create_project_location_persistent_resource(parent, google_cloud_aiplatform_v1_persistent_resource_object = nil, persistent_resource_id: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+parent}/persistentResources', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1PersistentResource::Representation
          command.request_object = google_cloud_aiplatform_v1_persistent_resource_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['parent'] = parent unless parent.nil?
          command.query['persistentResourceId'] = persistent_resource_id unless persistent_resource_id.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Deletes a PersistentResource.
        # @param [String] name
        #   Required. The name of the PersistentResource to be deleted. Format: `projects/`
        #   project`/locations/`location`/persistentResources/`persistent_resource``
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_persistent_resource(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Gets a PersistentResource.
        # @param [String] name
        #   Required. The name of the PersistentResource resource. Format: `projects/`
        #   project_id_or_number`/locations/`location_id`/persistentResources/`
        #   persistent_resource_id``
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1PersistentResource] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1PersistentResource]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_persistent_resource(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1PersistentResource::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1PersistentResource
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists PersistentResources in a Location.
        # @param [String] parent
        #   Required. The resource name of the Location to list the PersistentResources
        #   from. Format: `projects/`project`/locations/`location``
        # @param [Fixnum] page_size
        #   Optional. The standard list page size.
        # @param [String] page_token
        #   Optional. The standard list page token. Typically obtained via
        #   ListPersistentResourcesResponse.next_page_token of the previous
        #   PersistentResourceService.ListPersistentResource call.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListPersistentResourcesResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListPersistentResourcesResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_persistent_resources(parent, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+parent}/persistentResources', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListPersistentResourcesResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListPersistentResourcesResponse
          command.params['parent'] = parent unless parent.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Updates a PersistentResource.
        # @param [String] name
        #   Immutable. Resource name of a PersistentResource.
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1PersistentResource] google_cloud_aiplatform_v1_persistent_resource_object
        # @param [String] update_mask
        #   Required. Specify the fields to be overwritten in the PersistentResource by
        #   the update method.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def patch_project_location_persistent_resource(name, google_cloud_aiplatform_v1_persistent_resource_object = nil, update_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:patch, 'v1/{+name}', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1PersistentResource::Representation
          command.request_object = google_cloud_aiplatform_v1_persistent_resource_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['updateMask'] = update_mask unless update_mask.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Reboots a PersistentResource.
        # @param [String] name
        #   Required. The name of the PersistentResource resource. Format: `projects/`
        #   project_id_or_number`/locations/`location_id`/persistentResources/`
        #   persistent_resource_id``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1RebootPersistentResourceRequest] google_cloud_aiplatform_v1_reboot_persistent_resource_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def reboot_project_location_persistent_resource(name, google_cloud_aiplatform_v1_reboot_persistent_resource_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:reboot', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1RebootPersistentResourceRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_reboot_persistent_resource_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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`.
        # @param [String] name
        #   The name of the operation resource to be cancelled.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def cancel_project_location_persistent_resource_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:cancel', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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`.
        # @param [String] name
        #   The name of the operation resource to be deleted.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_persistent_resource_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] name
        #   The name of the operation resource.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_persistent_resource_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists operations that match the specified filter in the request. If the server
        # doesn't support this method, it returns `UNIMPLEMENTED`.
        # @param [String] name
        #   The name of the operation's parent resource.
        # @param [String] filter
        #   The standard list filter.
        # @param [Fixnum] page_size
        #   The standard list page size.
        # @param [String] page_token
        #   The standard list page token.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_persistent_resource_operations(name, filter: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}/operations', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse
          command.params['name'] = name unless name.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] name
        #   The name of the operation resource to wait on.
        # @param [String] 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.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def wait_project_location_persistent_resource_operation(name, timeout: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:wait', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['timeout'] = timeout unless timeout.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Batch cancel PipelineJobs. Firstly the server will check if all the jobs are
        # in non-terminal states, and skip the jobs that are already terminated. If the
        # operation failed, none of the pipeline jobs are cancelled. The server will
        # poll the states of all the pipeline jobs periodically to check the
        # cancellation status. This operation will return an LRO.
        # @param [String] parent
        #   Required. The name of the PipelineJobs' parent resource. Format: `projects/`
        #   project`/locations/`location``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1BatchCancelPipelineJobsRequest] google_cloud_aiplatform_v1_batch_cancel_pipeline_jobs_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def batch_project_location_pipeline_job_cancel(parent, google_cloud_aiplatform_v1_batch_cancel_pipeline_jobs_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+parent}/pipelineJobs:batchCancel', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1BatchCancelPipelineJobsRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_batch_cancel_pipeline_jobs_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['parent'] = parent unless parent.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Batch deletes PipelineJobs The Operation is atomic. If it fails, none of the
        # PipelineJobs are deleted. If it succeeds, all of the PipelineJobs are deleted.
        # @param [String] parent
        #   Required. The name of the PipelineJobs' parent resource. Format: `projects/`
        #   project`/locations/`location``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1BatchDeletePipelineJobsRequest] google_cloud_aiplatform_v1_batch_delete_pipeline_jobs_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def batch_project_location_pipeline_job_delete(parent, google_cloud_aiplatform_v1_batch_delete_pipeline_jobs_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+parent}/pipelineJobs:batchDelete', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1BatchDeletePipelineJobsRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_batch_delete_pipeline_jobs_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['parent'] = parent unless parent.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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`.
        # @param [String] name
        #   Required. The name of the PipelineJob to cancel. Format: `projects/`project`/
        #   locations/`location`/pipelineJobs/`pipeline_job``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1CancelPipelineJobRequest] google_cloud_aiplatform_v1_cancel_pipeline_job_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def cancel_project_location_pipeline_job(name, google_cloud_aiplatform_v1_cancel_pipeline_job_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:cancel', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1CancelPipelineJobRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_cancel_pipeline_job_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Creates a PipelineJob. A PipelineJob will run immediately when created.
        # @param [String] parent
        #   Required. The resource name of the Location to create the PipelineJob in.
        #   Format: `projects/`project`/locations/`location``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1PipelineJob] google_cloud_aiplatform_v1_pipeline_job_object
        # @param [String] pipeline_job_id
        #   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-/
        #   `.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1PipelineJob] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1PipelineJob]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def create_project_location_pipeline_job(parent, google_cloud_aiplatform_v1_pipeline_job_object = nil, pipeline_job_id: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+parent}/pipelineJobs', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1PipelineJob::Representation
          command.request_object = google_cloud_aiplatform_v1_pipeline_job_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1PipelineJob::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1PipelineJob
          command.params['parent'] = parent unless parent.nil?
          command.query['pipelineJobId'] = pipeline_job_id unless pipeline_job_id.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Deletes a PipelineJob.
        # @param [String] name
        #   Required. The name of the PipelineJob resource to be deleted. Format: `
        #   projects/`project`/locations/`location`/pipelineJobs/`pipeline_job``
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_pipeline_job(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Gets a PipelineJob.
        # @param [String] name
        #   Required. The name of the PipelineJob resource. Format: `projects/`project`/
        #   locations/`location`/pipelineJobs/`pipeline_job``
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1PipelineJob] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1PipelineJob]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_pipeline_job(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1PipelineJob::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1PipelineJob
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists PipelineJobs in a Location.
        # @param [String] parent
        #   Required. The resource name of the Location to list the PipelineJobs from.
        #   Format: `projects/`project`/locations/`location``
        # @param [String] 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".
        # @param [String] order_by
        #   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`
        # @param [Fixnum] page_size
        #   The standard list page size.
        # @param [String] page_token
        #   The standard list page token. Typically obtained via ListPipelineJobsResponse.
        #   next_page_token of the previous PipelineService.ListPipelineJobs call.
        # @param [String] read_mask
        #   Mask specifying which fields to read.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListPipelineJobsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListPipelineJobsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_pipeline_jobs(parent, filter: nil, order_by: nil, page_size: nil, page_token: nil, read_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+parent}/pipelineJobs', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListPipelineJobsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListPipelineJobsResponse
          command.params['parent'] = parent unless parent.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['orderBy'] = order_by unless order_by.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['readMask'] = read_mask unless read_mask.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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`.
        # @param [String] name
        #   The name of the operation resource to be cancelled.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def cancel_project_location_pipeline_job_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:cancel', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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`.
        # @param [String] name
        #   The name of the operation resource to be deleted.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_pipeline_job_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] name
        #   The name of the operation resource.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_pipeline_job_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists operations that match the specified filter in the request. If the server
        # doesn't support this method, it returns `UNIMPLEMENTED`.
        # @param [String] name
        #   The name of the operation's parent resource.
        # @param [String] filter
        #   The standard list filter.
        # @param [Fixnum] page_size
        #   The standard list page size.
        # @param [String] page_token
        #   The standard list page token.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_pipeline_job_operations(name, filter: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}/operations', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse
          command.params['name'] = name unless name.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] name
        #   The name of the operation resource to wait on.
        # @param [String] 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.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def wait_project_location_pipeline_job_operation(name, timeout: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:wait', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['timeout'] = timeout unless timeout.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Return a list of tokens based on the input text.
        # @param [String] endpoint
        #   Required. The name of the Endpoint requested to get lists of tokens and token
        #   ids.
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ComputeTokensRequest] google_cloud_aiplatform_v1_compute_tokens_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ComputeTokensResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ComputeTokensResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def compute_project_location_publisher_model_tokens(endpoint, google_cloud_aiplatform_v1_compute_tokens_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+endpoint}:computeTokens', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ComputeTokensRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_compute_tokens_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ComputeTokensResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ComputeTokensResponse
          command.params['endpoint'] = endpoint unless endpoint.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Perform a token counting.
        # @param [String] endpoint
        #   Required. The name of the Endpoint requested to perform token counting. Format:
        #   `projects/`project`/locations/`location`/endpoints/`endpoint``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1CountTokensRequest] google_cloud_aiplatform_v1_count_tokens_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1CountTokensResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1CountTokensResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def count_project_location_publisher_model_tokens(endpoint, google_cloud_aiplatform_v1_count_tokens_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+endpoint}:countTokens', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1CountTokensRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_count_tokens_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1CountTokensResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1CountTokensResponse
          command.params['endpoint'] = endpoint unless endpoint.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Fetch an asynchronous online prediction operation.
        # @param [String] endpoint
        #   Required. The name of the Endpoint requested to serve the prediction. Format: `
        #   projects/`project`/locations/`location`/endpoints/`endpoint`` or `projects/`
        #   project`/locations/`location`/publishers/`publisher`/models/`model``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1FetchPredictOperationRequest] google_cloud_aiplatform_v1_fetch_predict_operation_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def fetch_project_location_publisher_model_predict_operation(endpoint, google_cloud_aiplatform_v1_fetch_predict_operation_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+endpoint}:fetchPredictOperation', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1FetchPredictOperationRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_fetch_predict_operation_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['endpoint'] = endpoint unless endpoint.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Generate content with multimodal inputs.
        # @param [String] model
        #   Required. The fully qualified name of the publisher model or tuned model
        #   endpoint to use. Publisher model format: `projects/`project`/locations/`
        #   location`/publishers/*/models/*` Tuned model endpoint format: `projects/`
        #   project`/locations/`location`/endpoints/`endpoint``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1GenerateContentRequest] google_cloud_aiplatform_v1_generate_content_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1GenerateContentResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1GenerateContentResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def generate_project_location_publisher_model_content(model, google_cloud_aiplatform_v1_generate_content_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+model}:generateContent', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1GenerateContentRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_generate_content_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1GenerateContentResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1GenerateContentResponse
          command.params['model'] = model unless model.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Perform an online prediction.
        # @param [String] endpoint
        #   Required. The name of the Endpoint requested to serve the prediction. Format: `
        #   projects/`project`/locations/`location`/endpoints/`endpoint``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1PredictRequest] google_cloud_aiplatform_v1_predict_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1PredictResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1PredictResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def predict_project_location_publisher_model(endpoint, google_cloud_aiplatform_v1_predict_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+endpoint}:predict', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1PredictRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_predict_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1PredictResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1PredictResponse
          command.params['endpoint'] = endpoint unless endpoint.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 
        # @param [String] endpoint
        #   Required. The name of the Endpoint requested to serve the prediction. Format: `
        #   projects/`project`/locations/`location`/endpoints/`endpoint`` or `projects/`
        #   project`/locations/`location`/publishers/`publisher`/models/`model``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1PredictLongRunningRequest] google_cloud_aiplatform_v1_predict_long_running_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def predict_project_location_publisher_model_long_running(endpoint, google_cloud_aiplatform_v1_predict_long_running_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+endpoint}:predictLongRunning', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1PredictLongRunningRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_predict_long_running_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['endpoint'] = endpoint unless endpoint.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] endpoint
        #   Required. The name of the Endpoint requested to serve the prediction. Format: `
        #   projects/`project`/locations/`location`/endpoints/`endpoint``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1RawPredictRequest] google_cloud_aiplatform_v1_raw_predict_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleApiHttpBody] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleApiHttpBody]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def raw_project_location_publisher_model_predict(endpoint, google_cloud_aiplatform_v1_raw_predict_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+endpoint}:rawPredict', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1RawPredictRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_raw_predict_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleApiHttpBody::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleApiHttpBody
          command.params['endpoint'] = endpoint unless endpoint.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Perform a server-side streaming online prediction request for Vertex LLM
        # streaming.
        # @param [String] endpoint
        #   Required. The name of the Endpoint requested to serve the prediction. Format: `
        #   projects/`project`/locations/`location`/endpoints/`endpoint``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1StreamingPredictRequest] google_cloud_aiplatform_v1_streaming_predict_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1StreamingPredictResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1StreamingPredictResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def server_project_location_publisher_model_streaming_predict(endpoint, google_cloud_aiplatform_v1_streaming_predict_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+endpoint}:serverStreamingPredict', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1StreamingPredictRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_streaming_predict_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1StreamingPredictResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1StreamingPredictResponse
          command.params['endpoint'] = endpoint unless endpoint.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Generate content with multimodal inputs with streaming support.
        # @param [String] model
        #   Required. The fully qualified name of the publisher model or tuned model
        #   endpoint to use. Publisher model format: `projects/`project`/locations/`
        #   location`/publishers/*/models/*` Tuned model endpoint format: `projects/`
        #   project`/locations/`location`/endpoints/`endpoint``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1GenerateContentRequest] google_cloud_aiplatform_v1_generate_content_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1GenerateContentResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1GenerateContentResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def stream_project_location_publisher_model_generate_content(model, google_cloud_aiplatform_v1_generate_content_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+model}:streamGenerateContent', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1GenerateContentRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_generate_content_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1GenerateContentResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1GenerateContentResponse
          command.params['model'] = model unless model.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Perform a streaming online prediction with an arbitrary HTTP payload.
        # @param [String] endpoint
        #   Required. The name of the Endpoint requested to serve the prediction. Format: `
        #   projects/`project`/locations/`location`/endpoints/`endpoint``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1StreamRawPredictRequest] google_cloud_aiplatform_v1_stream_raw_predict_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleApiHttpBody] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleApiHttpBody]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def stream_project_location_publisher_model_raw_predict(endpoint, google_cloud_aiplatform_v1_stream_raw_predict_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+endpoint}:streamRawPredict', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1StreamRawPredictRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_stream_raw_predict_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleApiHttpBody::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleApiHttpBody
          command.params['endpoint'] = endpoint unless endpoint.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Creates a RagCorpus.
        # @param [String] parent
        #   Required. The resource name of the Location to create the RagCorpus in. Format:
        #   `projects/`project`/locations/`location``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1RagCorpus] google_cloud_aiplatform_v1_rag_corpus_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def create_project_location_rag_corpora(parent, google_cloud_aiplatform_v1_rag_corpus_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+parent}/ragCorpora', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1RagCorpus::Representation
          command.request_object = google_cloud_aiplatform_v1_rag_corpus_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['parent'] = parent unless parent.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Deletes a RagCorpus.
        # @param [String] name
        #   Required. The name of the RagCorpus resource to be deleted. Format: `projects/`
        #   project`/locations/`location`/ragCorpora/`rag_corpus``
        # @param [Boolean] force
        #   Optional. If set to true, any RagFiles in this RagCorpus will also be deleted.
        #   Otherwise, the request will only work if the RagCorpus has no RagFiles.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_rag_corpora(name, force: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['force'] = force unless force.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Gets a RagCorpus.
        # @param [String] name
        #   Required. The name of the RagCorpus resource. Format: `projects/`project`/
        #   locations/`location`/ragCorpora/`rag_corpus``
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1RagCorpus] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1RagCorpus]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_rag_corpora(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1RagCorpus::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1RagCorpus
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists RagCorpora in a Location.
        # @param [String] parent
        #   Required. The resource name of the Location from which to list the RagCorpora.
        #   Format: `projects/`project`/locations/`location``
        # @param [Fixnum] page_size
        #   Optional. The standard list page size.
        # @param [String] page_token
        #   Optional. The standard list page token. Typically obtained via
        #   ListRagCorporaResponse.next_page_token of the previous VertexRagDataService.
        #   ListRagCorpora call.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListRagCorporaResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListRagCorporaResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_rag_corporas(parent, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+parent}/ragCorpora', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListRagCorporaResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListRagCorporaResponse
          command.params['parent'] = parent unless parent.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Updates a RagCorpus.
        # @param [String] name
        #   Output only. The resource name of the RagCorpus.
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1RagCorpus] google_cloud_aiplatform_v1_rag_corpus_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def patch_project_location_rag_corpora(name, google_cloud_aiplatform_v1_rag_corpus_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:patch, 'v1/{+name}', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1RagCorpus::Representation
          command.request_object = google_cloud_aiplatform_v1_rag_corpus_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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`.
        # @param [String] name
        #   The name of the operation resource to be cancelled.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def cancel_project_location_rag_corpora_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:cancel', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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`.
        # @param [String] name
        #   The name of the operation resource to be deleted.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_rag_corpora_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] name
        #   The name of the operation resource.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_rag_corpora_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists operations that match the specified filter in the request. If the server
        # doesn't support this method, it returns `UNIMPLEMENTED`.
        # @param [String] name
        #   The name of the operation's parent resource.
        # @param [String] filter
        #   The standard list filter.
        # @param [Fixnum] page_size
        #   The standard list page size.
        # @param [String] page_token
        #   The standard list page token.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_rag_corpora_operations(name, filter: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}/operations', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse
          command.params['name'] = name unless name.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] name
        #   The name of the operation resource to wait on.
        # @param [String] 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.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def wait_project_location_rag_corpora_operation(name, timeout: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:wait', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['timeout'] = timeout unless timeout.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Deletes a RagFile.
        # @param [String] name
        #   Required. The name of the RagFile resource to be deleted. Format: `projects/`
        #   project`/locations/`location`/ragCorpora/`rag_corpus`/ragFiles/`rag_file``
        # @param [Boolean] force_delete
        #   Optional. If set to true, any errors generated by external vector database
        #   during the deletion will be ignored. The default value is false.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_rag_corpora_rag_file(name, force_delete: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['forceDelete'] = force_delete unless force_delete.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Gets a RagFile.
        # @param [String] name
        #   Required. The name of the RagFile resource. Format: `projects/`project`/
        #   locations/`location`/ragCorpora/`rag_corpus`/ragFiles/`rag_file``
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1RagFile] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1RagFile]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_rag_corpora_rag_file(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1RagFile::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1RagFile
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Import files from Google Cloud Storage or Google Drive into a RagCorpus.
        # @param [String] parent
        #   Required. The name of the RagCorpus resource into which to import files.
        #   Format: `projects/`project`/locations/`location`/ragCorpora/`rag_corpus``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ImportRagFilesRequest] google_cloud_aiplatform_v1_import_rag_files_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def import_project_location_rag_corpora_rag_file(parent, google_cloud_aiplatform_v1_import_rag_files_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+parent}/ragFiles:import', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ImportRagFilesRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_import_rag_files_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['parent'] = parent unless parent.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists RagFiles in a RagCorpus.
        # @param [String] parent
        #   Required. The resource name of the RagCorpus from which to list the RagFiles.
        #   Format: `projects/`project`/locations/`location`/ragCorpora/`rag_corpus``
        # @param [Fixnum] page_size
        #   Optional. The standard list page size.
        # @param [String] page_token
        #   Optional. The standard list page token. Typically obtained via
        #   ListRagFilesResponse.next_page_token of the previous VertexRagDataService.
        #   ListRagFiles call.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListRagFilesResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListRagFilesResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_rag_corpora_rag_files(parent, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+parent}/ragFiles', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListRagFilesResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListRagFilesResponse
          command.params['parent'] = parent unless parent.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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`.
        # @param [String] name
        #   The name of the operation resource to be cancelled.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def cancel_project_location_rag_corpora_rag_file_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:cancel', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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`.
        # @param [String] name
        #   The name of the operation resource to be deleted.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_rag_corpora_rag_file_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] name
        #   The name of the operation resource.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_rag_corpora_rag_file_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists operations that match the specified filter in the request. If the server
        # doesn't support this method, it returns `UNIMPLEMENTED`.
        # @param [String] name
        #   The name of the operation's parent resource.
        # @param [String] filter
        #   The standard list filter.
        # @param [Fixnum] page_size
        #   The standard list page size.
        # @param [String] page_token
        #   The standard list page token.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_rag_corpora_rag_file_operations(name, filter: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}/operations', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse
          command.params['name'] = name unless name.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] name
        #   The name of the operation resource to wait on.
        # @param [String] 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.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def wait_project_location_rag_corpora_rag_file_operation(name, timeout: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:wait', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['timeout'] = timeout unless timeout.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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`.
        # @param [String] name
        #   The name of the operation resource to be cancelled.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def cancel_project_location_rag_engine_config_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:cancel', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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`.
        # @param [String] name
        #   The name of the operation resource to be deleted.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_rag_engine_config_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] name
        #   The name of the operation resource.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_rag_engine_config_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists operations that match the specified filter in the request. If the server
        # doesn't support this method, it returns `UNIMPLEMENTED`.
        # @param [String] name
        #   The name of the operation's parent resource.
        # @param [String] filter
        #   The standard list filter.
        # @param [Fixnum] page_size
        #   The standard list page size.
        # @param [String] page_token
        #   The standard list page token.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_rag_engine_config_operations(name, filter: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}/operations', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse
          command.params['name'] = name unless name.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] name
        #   The name of the operation resource to wait on.
        # @param [String] 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.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def wait_project_location_rag_engine_config_operation(name, timeout: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:wait', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['timeout'] = timeout unless timeout.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Creates a reasoning engine.
        # @param [String] parent
        #   Required. The resource name of the Location to create the ReasoningEngine in.
        #   Format: `projects/`project`/locations/`location``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ReasoningEngine] google_cloud_aiplatform_v1_reasoning_engine_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def create_project_location_reasoning_engine(parent, google_cloud_aiplatform_v1_reasoning_engine_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+parent}/reasoningEngines', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ReasoningEngine::Representation
          command.request_object = google_cloud_aiplatform_v1_reasoning_engine_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['parent'] = parent unless parent.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Deletes a reasoning engine.
        # @param [String] name
        #   Required. The name of the ReasoningEngine resource to be deleted. Format: `
        #   projects/`project`/locations/`location`/reasoningEngines/`reasoning_engine``
        # @param [Boolean] force
        #   Optional. If set to true, child resources of this reasoning engine will also
        #   be deleted. Otherwise, the request will fail with FAILED_PRECONDITION error
        #   when the reasoning engine has undeleted child resources.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_reasoning_engine(name, force: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['force'] = force unless force.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Gets a reasoning engine.
        # @param [String] name
        #   Required. The name of the ReasoningEngine resource. Format: `projects/`project`
        #   /locations/`location`/reasoningEngines/`reasoning_engine``
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ReasoningEngine] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ReasoningEngine]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_reasoning_engine(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ReasoningEngine::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ReasoningEngine
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists reasoning engines in a location.
        # @param [String] parent
        #   Required. The resource name of the Location to list the ReasoningEngines from.
        #   Format: `projects/`project`/locations/`location``
        # @param [String] filter
        #   Optional. The standard list filter. More detail in [AIP-160](https://google.
        #   aip.dev/160).
        # @param [Fixnum] page_size
        #   Optional. The standard list page size.
        # @param [String] page_token
        #   Optional. The standard list page token.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListReasoningEnginesResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListReasoningEnginesResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_reasoning_engines(parent, filter: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+parent}/reasoningEngines', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListReasoningEnginesResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListReasoningEnginesResponse
          command.params['parent'] = parent unless parent.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Updates a reasoning engine.
        # @param [String] name
        #   Identifier. The resource name of the ReasoningEngine. Format: `projects/`
        #   project`/locations/`location`/reasoningEngines/`reasoning_engine``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ReasoningEngine] google_cloud_aiplatform_v1_reasoning_engine_object
        # @param [String] update_mask
        #   Optional. Mask specifying which fields to update.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def patch_project_location_reasoning_engine(name, google_cloud_aiplatform_v1_reasoning_engine_object = nil, update_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:patch, 'v1/{+name}', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ReasoningEngine::Representation
          command.request_object = google_cloud_aiplatform_v1_reasoning_engine_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['updateMask'] = update_mask unless update_mask.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Queries using a reasoning engine.
        # @param [String] name
        #   Required. The name of the ReasoningEngine resource to use. Format: `projects/`
        #   project`/locations/`location`/reasoningEngines/`reasoning_engine``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1QueryReasoningEngineRequest] google_cloud_aiplatform_v1_query_reasoning_engine_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1QueryReasoningEngineResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1QueryReasoningEngineResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def query_project_location_reasoning_engine(name, google_cloud_aiplatform_v1_query_reasoning_engine_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:query', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1QueryReasoningEngineRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_query_reasoning_engine_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1QueryReasoningEngineResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1QueryReasoningEngineResponse
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Streams queries using a reasoning engine.
        # @param [String] name
        #   Required. The name of the ReasoningEngine resource to use. Format: `projects/`
        #   project`/locations/`location`/reasoningEngines/`reasoning_engine``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1StreamQueryReasoningEngineRequest] google_cloud_aiplatform_v1_stream_query_reasoning_engine_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleApiHttpBody] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleApiHttpBody]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def stream_project_location_reasoning_engine_query(name, google_cloud_aiplatform_v1_stream_query_reasoning_engine_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:streamQuery', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1StreamQueryReasoningEngineRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_stream_query_reasoning_engine_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleApiHttpBody::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleApiHttpBody
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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`.
        # @param [String] name
        #   The name of the operation resource to be cancelled.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def cancel_project_location_reasoning_engine_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:cancel', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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`.
        # @param [String] name
        #   The name of the operation resource to be deleted.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_reasoning_engine_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] name
        #   The name of the operation resource.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_reasoning_engine_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists operations that match the specified filter in the request. If the server
        # doesn't support this method, it returns `UNIMPLEMENTED`.
        # @param [String] name
        #   The name of the operation's parent resource.
        # @param [String] filter
        #   The standard list filter.
        # @param [Fixnum] page_size
        #   The standard list page size.
        # @param [String] page_token
        #   The standard list page token.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_reasoning_engine_operations(name, filter: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}/operations', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse
          command.params['name'] = name unless name.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] name
        #   The name of the operation resource to wait on.
        # @param [String] 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.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def wait_project_location_reasoning_engine_operation(name, timeout: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:wait', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['timeout'] = timeout unless timeout.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Creates a Schedule.
        # @param [String] parent
        #   Required. The resource name of the Location to create the Schedule in. Format:
        #   `projects/`project`/locations/`location``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Schedule] google_cloud_aiplatform_v1_schedule_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Schedule] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Schedule]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def create_project_location_schedule(parent, google_cloud_aiplatform_v1_schedule_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+parent}/schedules', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Schedule::Representation
          command.request_object = google_cloud_aiplatform_v1_schedule_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Schedule::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Schedule
          command.params['parent'] = parent unless parent.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Deletes a Schedule.
        # @param [String] name
        #   Required. The name of the Schedule resource to be deleted. Format: `projects/`
        #   project`/locations/`location`/schedules/`schedule``
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_schedule(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Gets a Schedule.
        # @param [String] name
        #   Required. The name of the Schedule resource. Format: `projects/`project`/
        #   locations/`location`/schedules/`schedule``
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Schedule] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Schedule]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_schedule(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Schedule::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Schedule
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists Schedules in a Location.
        # @param [String] parent
        #   Required. The resource name of the Location to list the Schedules from. Format:
        #   `projects/`project`/locations/`location``
        # @param [String] 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:*`
        # @param [String] order_by
        #   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`
        # @param [Fixnum] page_size
        #   The standard list page size. Default to 100 if not specified.
        # @param [String] page_token
        #   The standard list page token. Typically obtained via ListSchedulesResponse.
        #   next_page_token of the previous ScheduleService.ListSchedules call.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListSchedulesResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListSchedulesResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_schedules(parent, filter: nil, order_by: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+parent}/schedules', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListSchedulesResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListSchedulesResponse
          command.params['parent'] = parent unless parent.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['orderBy'] = order_by unless order_by.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] name
        #   Immutable. The resource name of the Schedule.
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Schedule] google_cloud_aiplatform_v1_schedule_object
        # @param [String] update_mask
        #   Required. The update mask applies to the resource. See google.protobuf.
        #   FieldMask.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Schedule] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Schedule]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def patch_project_location_schedule(name, google_cloud_aiplatform_v1_schedule_object = nil, update_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:patch, 'v1/{+name}', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Schedule::Representation
          command.request_object = google_cloud_aiplatform_v1_schedule_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Schedule::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Schedule
          command.params['name'] = name unless name.nil?
          command.query['updateMask'] = update_mask unless update_mask.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] name
        #   Required. The name of the Schedule resource to be paused. Format: `projects/`
        #   project`/locations/`location`/schedules/`schedule``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1PauseScheduleRequest] google_cloud_aiplatform_v1_pause_schedule_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def pause_project_location_schedule(name, google_cloud_aiplatform_v1_pause_schedule_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:pause', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1PauseScheduleRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_pause_schedule_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Resumes a paused Schedule to start scheduling new runs. Will mark Schedule.
        # state to 'ACTIVE'. Only paused Schedule can be resumed. When the Schedule is
        # resumed, new runs will be scheduled starting from the next execution time
        # after the current time based on the time_specification in the Schedule. If
        # Schedule.catch_up is set up true, all missed runs will be scheduled for
        # backfill first.
        # @param [String] name
        #   Required. The name of the Schedule resource to be resumed. Format: `projects/`
        #   project`/locations/`location`/schedules/`schedule``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ResumeScheduleRequest] google_cloud_aiplatform_v1_resume_schedule_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def resume_project_location_schedule(name, google_cloud_aiplatform_v1_resume_schedule_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:resume', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ResumeScheduleRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_resume_schedule_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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`.
        # @param [String] name
        #   The name of the operation resource to be cancelled.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def cancel_project_location_schedule_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:cancel', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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`.
        # @param [String] name
        #   The name of the operation resource to be deleted.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_schedule_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] name
        #   The name of the operation resource.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_schedule_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists operations that match the specified filter in the request. If the server
        # doesn't support this method, it returns `UNIMPLEMENTED`.
        # @param [String] name
        #   The name of the operation's parent resource.
        # @param [String] filter
        #   The standard list filter.
        # @param [Fixnum] page_size
        #   The standard list page size.
        # @param [String] page_token
        #   The standard list page token.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_schedule_operations(name, filter: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}/operations', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse
          command.params['name'] = name unless name.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] name
        #   The name of the operation resource to wait on.
        # @param [String] 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.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def wait_project_location_schedule_operation(name, timeout: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:wait', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['timeout'] = timeout unless timeout.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Creates a SpecialistPool.
        # @param [String] parent
        #   Required. The parent Project name for the new SpecialistPool. The form is `
        #   projects/`project`/locations/`location``.
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1SpecialistPool] google_cloud_aiplatform_v1_specialist_pool_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def create_project_location_specialist_pool(parent, google_cloud_aiplatform_v1_specialist_pool_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+parent}/specialistPools', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1SpecialistPool::Representation
          command.request_object = google_cloud_aiplatform_v1_specialist_pool_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['parent'] = parent unless parent.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Deletes a SpecialistPool as well as all Specialists in the pool.
        # @param [String] name
        #   Required. The resource name of the SpecialistPool to delete. Format: `projects/
        #   `project`/locations/`location`/specialistPools/`specialist_pool``
        # @param [Boolean] 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.)
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_specialist_pool(name, force: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['force'] = force unless force.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Gets a SpecialistPool.
        # @param [String] name
        #   Required. The name of the SpecialistPool resource. The form is `projects/`
        #   project`/locations/`location`/specialistPools/`specialist_pool``.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1SpecialistPool] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1SpecialistPool]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_specialist_pool(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1SpecialistPool::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1SpecialistPool
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists SpecialistPools in a Location.
        # @param [String] parent
        #   Required. The name of the SpecialistPool's parent resource. Format: `projects/`
        #   project`/locations/`location``
        # @param [Fixnum] page_size
        #   The standard list page size.
        # @param [String] page_token
        #   The standard list page token. Typically obtained by
        #   ListSpecialistPoolsResponse.next_page_token of the previous
        #   SpecialistPoolService.ListSpecialistPools call. Return first page if empty.
        # @param [String] read_mask
        #   Mask specifying which fields to read. FieldMask represents a set of
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListSpecialistPoolsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListSpecialistPoolsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_specialist_pools(parent, page_size: nil, page_token: nil, read_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+parent}/specialistPools', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListSpecialistPoolsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListSpecialistPoolsResponse
          command.params['parent'] = parent unless parent.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['readMask'] = read_mask unless read_mask.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Updates a SpecialistPool.
        # @param [String] name
        #   Required. The resource name of the SpecialistPool.
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1SpecialistPool] google_cloud_aiplatform_v1_specialist_pool_object
        # @param [String] update_mask
        #   Required. The update mask applies to the resource.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def patch_project_location_specialist_pool(name, google_cloud_aiplatform_v1_specialist_pool_object = nil, update_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:patch, 'v1/{+name}', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1SpecialistPool::Representation
          command.request_object = google_cloud_aiplatform_v1_specialist_pool_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['updateMask'] = update_mask unless update_mask.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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`.
        # @param [String] name
        #   The name of the operation resource to be cancelled.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def cancel_project_location_specialist_pool_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:cancel', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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`.
        # @param [String] name
        #   The name of the operation resource to be deleted.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_specialist_pool_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] name
        #   The name of the operation resource.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_specialist_pool_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists operations that match the specified filter in the request. If the server
        # doesn't support this method, it returns `UNIMPLEMENTED`.
        # @param [String] name
        #   The name of the operation's parent resource.
        # @param [String] filter
        #   The standard list filter.
        # @param [Fixnum] page_size
        #   The standard list page size.
        # @param [String] page_token
        #   The standard list page token.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_specialist_pool_operations(name, filter: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}/operations', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse
          command.params['name'] = name unless name.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] name
        #   The name of the operation resource to wait on.
        # @param [String] 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.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def wait_project_location_specialist_pool_operation(name, timeout: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:wait', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['timeout'] = timeout unless timeout.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Creates a Study. A resource name will be generated after creation of the Study.
        # @param [String] parent
        #   Required. The resource name of the Location to create the CustomJob in. Format:
        #   `projects/`project`/locations/`location``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Study] google_cloud_aiplatform_v1_study_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Study] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Study]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def create_project_location_study(parent, google_cloud_aiplatform_v1_study_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+parent}/studies', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Study::Representation
          command.request_object = google_cloud_aiplatform_v1_study_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Study::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Study
          command.params['parent'] = parent unless parent.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Deletes a Study.
        # @param [String] name
        #   Required. The name of the Study resource to be deleted. Format: `projects/`
        #   project`/locations/`location`/studies/`study``
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_study(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Gets a Study by name.
        # @param [String] name
        #   Required. The name of the Study resource. Format: `projects/`project`/
        #   locations/`location`/studies/`study``
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Study] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Study]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_study(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Study::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Study
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists all the studies in a region for an associated project.
        # @param [String] parent
        #   Required. The resource name of the Location to list the Study from. Format: `
        #   projects/`project`/locations/`location``
        # @param [Fixnum] page_size
        #   Optional. The maximum number of studies to return per "page" of results. If
        #   unspecified, service will pick an appropriate default.
        # @param [String] page_token
        #   Optional. A page token to request the next page of results. If unspecified,
        #   there are no subsequent pages.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListStudiesResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListStudiesResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_studies(parent, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+parent}/studies', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListStudiesResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListStudiesResponse
          command.params['parent'] = parent unless parent.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Looks a study up using the user-defined display_name field instead of the
        # fully qualified resource name.
        # @param [String] parent
        #   Required. The resource name of the Location to get the Study from. Format: `
        #   projects/`project`/locations/`location``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1LookupStudyRequest] google_cloud_aiplatform_v1_lookup_study_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Study] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Study]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def lookup_project_location_study(parent, google_cloud_aiplatform_v1_lookup_study_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+parent}/studies:lookup', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1LookupStudyRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_lookup_study_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Study::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Study
          command.params['parent'] = parent unless parent.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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`.
        # @param [String] name
        #   The name of the operation resource to be cancelled.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def cancel_project_location_study_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:cancel', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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`.
        # @param [String] name
        #   The name of the operation resource to be deleted.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_study_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] name
        #   The name of the operation resource.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_study_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists operations that match the specified filter in the request. If the server
        # doesn't support this method, it returns `UNIMPLEMENTED`.
        # @param [String] name
        #   The name of the operation's parent resource.
        # @param [String] filter
        #   The standard list filter.
        # @param [Fixnum] page_size
        #   The standard list page size.
        # @param [String] page_token
        #   The standard list page token.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_study_operations(name, filter: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}/operations', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse
          command.params['name'] = name unless name.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] name
        #   The name of the operation resource to wait on.
        # @param [String] 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.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def wait_project_location_study_operation(name, timeout: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:wait', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['timeout'] = timeout unless timeout.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Adds a measurement of the objective metrics to a Trial. This measurement is
        # assumed to have been taken before the Trial is complete.
        # @param [String] trial_name
        #   Required. The name of the trial to add measurement. Format: `projects/`project`
        #   /locations/`location`/studies/`study`/trials/`trial``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1AddTrialMeasurementRequest] google_cloud_aiplatform_v1_add_trial_measurement_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Trial] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Trial]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def add_project_location_study_trial_trial_measurement(trial_name, google_cloud_aiplatform_v1_add_trial_measurement_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+trialName}:addTrialMeasurement', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1AddTrialMeasurementRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_add_trial_measurement_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Trial::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Trial
          command.params['trialName'] = trial_name unless trial_name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Checks whether a Trial should stop or not. Returns a long-running operation.
        # When the operation is successful, it will contain a
        # CheckTrialEarlyStoppingStateResponse.
        # @param [String] trial_name
        #   Required. The Trial's name. Format: `projects/`project`/locations/`location`/
        #   studies/`study`/trials/`trial``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1CheckTrialEarlyStoppingStateRequest] google_cloud_aiplatform_v1_check_trial_early_stopping_state_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def check_project_location_study_trial_trial_early_stopping_state(trial_name, google_cloud_aiplatform_v1_check_trial_early_stopping_state_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+trialName}:checkTrialEarlyStoppingState', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1CheckTrialEarlyStoppingStateRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_check_trial_early_stopping_state_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['trialName'] = trial_name unless trial_name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Marks a Trial as complete.
        # @param [String] name
        #   Required. The Trial's name. Format: `projects/`project`/locations/`location`/
        #   studies/`study`/trials/`trial``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1CompleteTrialRequest] google_cloud_aiplatform_v1_complete_trial_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Trial] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Trial]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def complete_project_location_study_trial(name, google_cloud_aiplatform_v1_complete_trial_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:complete', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1CompleteTrialRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_complete_trial_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Trial::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Trial
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Adds a user provided Trial to a Study.
        # @param [String] parent
        #   Required. The resource name of the Study to create the Trial in. Format: `
        #   projects/`project`/locations/`location`/studies/`study``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Trial] google_cloud_aiplatform_v1_trial_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Trial] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Trial]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def create_project_location_study_trial(parent, google_cloud_aiplatform_v1_trial_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+parent}/trials', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Trial::Representation
          command.request_object = google_cloud_aiplatform_v1_trial_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Trial::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Trial
          command.params['parent'] = parent unless parent.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Deletes a Trial.
        # @param [String] name
        #   Required. The Trial's name. Format: `projects/`project`/locations/`location`/
        #   studies/`study`/trials/`trial``
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_study_trial(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Gets a Trial.
        # @param [String] name
        #   Required. The name of the Trial resource. Format: `projects/`project`/
        #   locations/`location`/studies/`study`/trials/`trial``
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Trial] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Trial]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_study_trial(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Trial::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Trial
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists the Trials associated with a Study.
        # @param [String] parent
        #   Required. The resource name of the Study to list the Trial from. Format: `
        #   projects/`project`/locations/`location`/studies/`study``
        # @param [Fixnum] page_size
        #   Optional. The number of Trials to retrieve per "page" of results. If
        #   unspecified, the service will pick an appropriate default.
        # @param [String] page_token
        #   Optional. A page token to request the next page of results. If unspecified,
        #   there are no subsequent pages.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListTrialsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListTrialsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_study_trials(parent, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+parent}/trials', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListTrialsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListTrialsResponse
          command.params['parent'] = parent unless parent.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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
        # @param [String] parent
        #   Required. The name of the Study that the optimal Trial belongs to.
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListOptimalTrialsRequest] google_cloud_aiplatform_v1_list_optimal_trials_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListOptimalTrialsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListOptimalTrialsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_study_trial_optimal_trials(parent, google_cloud_aiplatform_v1_list_optimal_trials_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+parent}/trials:listOptimalTrials', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListOptimalTrialsRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_list_optimal_trials_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListOptimalTrialsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListOptimalTrialsResponse
          command.params['parent'] = parent unless parent.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Stops a Trial.
        # @param [String] name
        #   Required. The Trial's name. Format: `projects/`project`/locations/`location`/
        #   studies/`study`/trials/`trial``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1StopTrialRequest] google_cloud_aiplatform_v1_stop_trial_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Trial] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Trial]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def stop_project_location_study_trial(name, google_cloud_aiplatform_v1_stop_trial_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:stop', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1StopTrialRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_stop_trial_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Trial::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Trial
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] parent
        #   Required. The project and location that the Study belongs to. Format: `
        #   projects/`project`/locations/`location`/studies/`study``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1SuggestTrialsRequest] google_cloud_aiplatform_v1_suggest_trials_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def suggest_project_location_study_trial(parent, google_cloud_aiplatform_v1_suggest_trials_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+parent}/trials:suggest', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1SuggestTrialsRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_suggest_trials_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['parent'] = parent unless parent.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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`.
        # @param [String] name
        #   The name of the operation resource to be cancelled.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def cancel_project_location_study_trial_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:cancel', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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`.
        # @param [String] name
        #   The name of the operation resource to be deleted.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_study_trial_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] name
        #   The name of the operation resource.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_study_trial_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists operations that match the specified filter in the request. If the server
        # doesn't support this method, it returns `UNIMPLEMENTED`.
        # @param [String] name
        #   The name of the operation's parent resource.
        # @param [String] filter
        #   The standard list filter.
        # @param [Fixnum] page_size
        #   The standard list page size.
        # @param [String] page_token
        #   The standard list page token.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_study_trial_operations(name, filter: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}/operations', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse
          command.params['name'] = name unless name.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] name
        #   The name of the operation resource to wait on.
        # @param [String] 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.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def wait_project_location_study_trial_operation(name, timeout: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:wait', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['timeout'] = timeout unless timeout.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] tensorboard
        #   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.
        # @param [Array<String>, String] time_series
        #   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``
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1BatchReadTensorboardTimeSeriesDataResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1BatchReadTensorboardTimeSeriesDataResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def batch_project_location_tensorboard_read(tensorboard, time_series: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+tensorboard}:batchRead', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1BatchReadTensorboardTimeSeriesDataResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1BatchReadTensorboardTimeSeriesDataResponse
          command.params['tensorboard'] = tensorboard unless tensorboard.nil?
          command.query['timeSeries'] = time_series unless time_series.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Creates a Tensorboard.
        # @param [String] parent
        #   Required. The resource name of the Location to create the Tensorboard in.
        #   Format: `projects/`project`/locations/`location``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Tensorboard] google_cloud_aiplatform_v1_tensorboard_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def create_project_location_tensorboard(parent, google_cloud_aiplatform_v1_tensorboard_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+parent}/tensorboards', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Tensorboard::Representation
          command.request_object = google_cloud_aiplatform_v1_tensorboard_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['parent'] = parent unless parent.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Deletes a Tensorboard.
        # @param [String] name
        #   Required. The name of the Tensorboard to be deleted. Format: `projects/`
        #   project`/locations/`location`/tensorboards/`tensorboard``
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_tensorboard(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Gets a Tensorboard.
        # @param [String] name
        #   Required. The name of the Tensorboard resource. Format: `projects/`project`/
        #   locations/`location`/tensorboards/`tensorboard``
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Tensorboard] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Tensorboard]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_tensorboard(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Tensorboard::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Tensorboard
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists Tensorboards in a Location.
        # @param [String] parent
        #   Required. The resource name of the Location to list Tensorboards. Format: `
        #   projects/`project`/locations/`location``
        # @param [String] filter
        #   Lists the Tensorboards that match the filter expression.
        # @param [String] order_by
        #   Field to use to sort the list.
        # @param [Fixnum] page_size
        #   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.
        # @param [String] page_token
        #   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.
        # @param [String] read_mask
        #   Mask specifying which fields to read.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListTensorboardsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListTensorboardsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_tensorboards(parent, filter: nil, order_by: nil, page_size: nil, page_token: nil, read_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+parent}/tensorboards', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListTensorboardsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListTensorboardsResponse
          command.params['parent'] = parent unless parent.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['orderBy'] = order_by unless order_by.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['readMask'] = read_mask unless read_mask.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Updates a Tensorboard.
        # @param [String] name
        #   Output only. Name of the Tensorboard. Format: `projects/`project`/locations/`
        #   location`/tensorboards/`tensorboard``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Tensorboard] google_cloud_aiplatform_v1_tensorboard_object
        # @param [String] update_mask
        #   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.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def patch_project_location_tensorboard(name, google_cloud_aiplatform_v1_tensorboard_object = nil, update_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:patch, 'v1/{+name}', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1Tensorboard::Representation
          command.request_object = google_cloud_aiplatform_v1_tensorboard_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['updateMask'] = update_mask unless update_mask.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Returns the storage size for a given TensorBoard instance.
        # @param [String] tensorboard
        #   Required. The name of the Tensorboard resource. Format: `projects/`project`/
        #   locations/`location`/tensorboards/`tensorboard``
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ReadTensorboardSizeResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ReadTensorboardSizeResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def read_project_location_tensorboard_size(tensorboard, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+tensorboard}:readSize', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ReadTensorboardSizeResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ReadTensorboardSizeResponse
          command.params['tensorboard'] = tensorboard unless tensorboard.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Returns a list of monthly active users for a given TensorBoard instance.
        # @param [String] tensorboard
        #   Required. The name of the Tensorboard resource. Format: `projects/`project`/
        #   locations/`location`/tensorboards/`tensorboard``
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ReadTensorboardUsageResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ReadTensorboardUsageResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def read_project_location_tensorboard_usage(tensorboard, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+tensorboard}:readUsage', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ReadTensorboardUsageResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ReadTensorboardUsageResponse
          command.params['tensorboard'] = tensorboard unless tensorboard.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Batch create TensorboardTimeSeries that belong to a TensorboardExperiment.
        # @param [String] parent
        #   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.
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1BatchCreateTensorboardTimeSeriesRequest] google_cloud_aiplatform_v1_batch_create_tensorboard_time_series_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1BatchCreateTensorboardTimeSeriesResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1BatchCreateTensorboardTimeSeriesResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def batch_project_location_tensorboard_experiment_create(parent, google_cloud_aiplatform_v1_batch_create_tensorboard_time_series_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+parent}:batchCreate', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1BatchCreateTensorboardTimeSeriesRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_batch_create_tensorboard_time_series_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1BatchCreateTensorboardTimeSeriesResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1BatchCreateTensorboardTimeSeriesResponse
          command.params['parent'] = parent unless parent.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Creates a TensorboardExperiment.
        # @param [String] parent
        #   Required. The resource name of the Tensorboard to create the
        #   TensorboardExperiment in. Format: `projects/`project`/locations/`location`/
        #   tensorboards/`tensorboard``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1TensorboardExperiment] google_cloud_aiplatform_v1_tensorboard_experiment_object
        # @param [String] tensorboard_experiment_id
        #   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-/`.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1TensorboardExperiment] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1TensorboardExperiment]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def create_project_location_tensorboard_experiment(parent, google_cloud_aiplatform_v1_tensorboard_experiment_object = nil, tensorboard_experiment_id: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+parent}/experiments', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1TensorboardExperiment::Representation
          command.request_object = google_cloud_aiplatform_v1_tensorboard_experiment_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1TensorboardExperiment::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1TensorboardExperiment
          command.params['parent'] = parent unless parent.nil?
          command.query['tensorboardExperimentId'] = tensorboard_experiment_id unless tensorboard_experiment_id.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Deletes a TensorboardExperiment.
        # @param [String] name
        #   Required. The name of the TensorboardExperiment to be deleted. Format: `
        #   projects/`project`/locations/`location`/tensorboards/`tensorboard`/experiments/
        #   `experiment``
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_tensorboard_experiment(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Gets a TensorboardExperiment.
        # @param [String] name
        #   Required. The name of the TensorboardExperiment resource. Format: `projects/`
        #   project`/locations/`location`/tensorboards/`tensorboard`/experiments/`
        #   experiment``
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1TensorboardExperiment] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1TensorboardExperiment]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_tensorboard_experiment(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1TensorboardExperiment::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1TensorboardExperiment
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists TensorboardExperiments in a Location.
        # @param [String] parent
        #   Required. The resource name of the Tensorboard to list TensorboardExperiments.
        #   Format: `projects/`project`/locations/`location`/tensorboards/`tensorboard``
        # @param [String] filter
        #   Lists the TensorboardExperiments that match the filter expression.
        # @param [String] order_by
        #   Field to use to sort the list.
        # @param [Fixnum] page_size
        #   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.
        # @param [String] page_token
        #   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.
        # @param [String] read_mask
        #   Mask specifying which fields to read.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListTensorboardExperimentsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListTensorboardExperimentsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_tensorboard_experiments(parent, filter: nil, order_by: nil, page_size: nil, page_token: nil, read_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+parent}/experiments', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListTensorboardExperimentsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListTensorboardExperimentsResponse
          command.params['parent'] = parent unless parent.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['orderBy'] = order_by unless order_by.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['readMask'] = read_mask unless read_mask.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Updates a TensorboardExperiment.
        # @param [String] name
        #   Output only. Name of the TensorboardExperiment. Format: `projects/`project`/
        #   locations/`location`/tensorboards/`tensorboard`/experiments/`experiment``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1TensorboardExperiment] google_cloud_aiplatform_v1_tensorboard_experiment_object
        # @param [String] update_mask
        #   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.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1TensorboardExperiment] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1TensorboardExperiment]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def patch_project_location_tensorboard_experiment(name, google_cloud_aiplatform_v1_tensorboard_experiment_object = nil, update_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:patch, 'v1/{+name}', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1TensorboardExperiment::Representation
          command.request_object = google_cloud_aiplatform_v1_tensorboard_experiment_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1TensorboardExperiment::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1TensorboardExperiment
          command.params['name'] = name unless name.nil?
          command.query['updateMask'] = update_mask unless update_mask.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Write time series data points of multiple TensorboardTimeSeries in multiple
        # TensorboardRun's. If any data fail to be ingested, an error is returned.
        # @param [String] tensorboard_experiment
        #   Required. The resource name of the TensorboardExperiment to write data to.
        #   Format: `projects/`project`/locations/`location`/tensorboards/`tensorboard`/
        #   experiments/`experiment``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1WriteTensorboardExperimentDataRequest] google_cloud_aiplatform_v1_write_tensorboard_experiment_data_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1WriteTensorboardExperimentDataResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1WriteTensorboardExperimentDataResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def write_project_location_tensorboard_experiment(tensorboard_experiment, google_cloud_aiplatform_v1_write_tensorboard_experiment_data_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+tensorboardExperiment}:write', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1WriteTensorboardExperimentDataRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_write_tensorboard_experiment_data_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1WriteTensorboardExperimentDataResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1WriteTensorboardExperimentDataResponse
          command.params['tensorboardExperiment'] = tensorboard_experiment unless tensorboard_experiment.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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`.
        # @param [String] name
        #   The name of the operation resource to be cancelled.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def cancel_project_location_tensorboard_experiment_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:cancel', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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`.
        # @param [String] name
        #   The name of the operation resource to be deleted.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_tensorboard_experiment_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] name
        #   The name of the operation resource.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_tensorboard_experiment_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists operations that match the specified filter in the request. If the server
        # doesn't support this method, it returns `UNIMPLEMENTED`.
        # @param [String] name
        #   The name of the operation's parent resource.
        # @param [String] filter
        #   The standard list filter.
        # @param [Fixnum] page_size
        #   The standard list page size.
        # @param [String] page_token
        #   The standard list page token.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_tensorboard_experiment_operations(name, filter: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}/operations', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse
          command.params['name'] = name unless name.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] name
        #   The name of the operation resource to wait on.
        # @param [String] 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.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def wait_project_location_tensorboard_experiment_operation(name, timeout: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:wait', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['timeout'] = timeout unless timeout.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Batch create TensorboardRuns.
        # @param [String] parent
        #   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.
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1BatchCreateTensorboardRunsRequest] google_cloud_aiplatform_v1_batch_create_tensorboard_runs_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1BatchCreateTensorboardRunsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1BatchCreateTensorboardRunsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def batch_project_location_tensorboard_experiment_run_create(parent, google_cloud_aiplatform_v1_batch_create_tensorboard_runs_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+parent}/runs:batchCreate', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1BatchCreateTensorboardRunsRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_batch_create_tensorboard_runs_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1BatchCreateTensorboardRunsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1BatchCreateTensorboardRunsResponse
          command.params['parent'] = parent unless parent.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Creates a TensorboardRun.
        # @param [String] parent
        #   Required. The resource name of the TensorboardExperiment to create the
        #   TensorboardRun in. Format: `projects/`project`/locations/`location`/
        #   tensorboards/`tensorboard`/experiments/`experiment``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1TensorboardRun] google_cloud_aiplatform_v1_tensorboard_run_object
        # @param [String] tensorboard_run_id
        #   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-/`.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1TensorboardRun] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1TensorboardRun]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def create_project_location_tensorboard_experiment_run(parent, google_cloud_aiplatform_v1_tensorboard_run_object = nil, tensorboard_run_id: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+parent}/runs', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1TensorboardRun::Representation
          command.request_object = google_cloud_aiplatform_v1_tensorboard_run_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1TensorboardRun::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1TensorboardRun
          command.params['parent'] = parent unless parent.nil?
          command.query['tensorboardRunId'] = tensorboard_run_id unless tensorboard_run_id.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Deletes a TensorboardRun.
        # @param [String] name
        #   Required. The name of the TensorboardRun to be deleted. Format: `projects/`
        #   project`/locations/`location`/tensorboards/`tensorboard`/experiments/`
        #   experiment`/runs/`run``
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_tensorboard_experiment_run(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Gets a TensorboardRun.
        # @param [String] name
        #   Required. The name of the TensorboardRun resource. Format: `projects/`project`/
        #   locations/`location`/tensorboards/`tensorboard`/experiments/`experiment`/runs/`
        #   run``
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1TensorboardRun] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1TensorboardRun]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_tensorboard_experiment_run(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1TensorboardRun::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1TensorboardRun
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists TensorboardRuns in a Location.
        # @param [String] parent
        #   Required. The resource name of the TensorboardExperiment to list
        #   TensorboardRuns. Format: `projects/`project`/locations/`location`/tensorboards/
        #   `tensorboard`/experiments/`experiment``
        # @param [String] filter
        #   Lists the TensorboardRuns that match the filter expression.
        # @param [String] order_by
        #   Field to use to sort the list.
        # @param [Fixnum] page_size
        #   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.
        # @param [String] page_token
        #   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.
        # @param [String] read_mask
        #   Mask specifying which fields to read.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListTensorboardRunsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListTensorboardRunsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_tensorboard_experiment_runs(parent, filter: nil, order_by: nil, page_size: nil, page_token: nil, read_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+parent}/runs', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListTensorboardRunsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListTensorboardRunsResponse
          command.params['parent'] = parent unless parent.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['orderBy'] = order_by unless order_by.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['readMask'] = read_mask unless read_mask.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Updates a TensorboardRun.
        # @param [String] name
        #   Output only. Name of the TensorboardRun. Format: `projects/`project`/locations/
        #   `location`/tensorboards/`tensorboard`/experiments/`experiment`/runs/`run``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1TensorboardRun] google_cloud_aiplatform_v1_tensorboard_run_object
        # @param [String] update_mask
        #   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.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1TensorboardRun] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1TensorboardRun]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def patch_project_location_tensorboard_experiment_run(name, google_cloud_aiplatform_v1_tensorboard_run_object = nil, update_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:patch, 'v1/{+name}', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1TensorboardRun::Representation
          command.request_object = google_cloud_aiplatform_v1_tensorboard_run_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1TensorboardRun::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1TensorboardRun
          command.params['name'] = name unless name.nil?
          command.query['updateMask'] = update_mask unless update_mask.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Write time series data points into multiple TensorboardTimeSeries under a
        # TensorboardRun. If any data fail to be ingested, an error is returned.
        # @param [String] tensorboard_run
        #   Required. The resource name of the TensorboardRun to write data to. Format: `
        #   projects/`project`/locations/`location`/tensorboards/`tensorboard`/experiments/
        #   `experiment`/runs/`run``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1WriteTensorboardRunDataRequest] google_cloud_aiplatform_v1_write_tensorboard_run_data_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1WriteTensorboardRunDataResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1WriteTensorboardRunDataResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def write_project_location_tensorboard_experiment_run(tensorboard_run, google_cloud_aiplatform_v1_write_tensorboard_run_data_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+tensorboardRun}:write', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1WriteTensorboardRunDataRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_write_tensorboard_run_data_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1WriteTensorboardRunDataResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1WriteTensorboardRunDataResponse
          command.params['tensorboardRun'] = tensorboard_run unless tensorboard_run.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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`.
        # @param [String] name
        #   The name of the operation resource to be cancelled.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def cancel_project_location_tensorboard_experiment_run_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:cancel', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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`.
        # @param [String] name
        #   The name of the operation resource to be deleted.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_tensorboard_experiment_run_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] name
        #   The name of the operation resource.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_tensorboard_experiment_run_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists operations that match the specified filter in the request. If the server
        # doesn't support this method, it returns `UNIMPLEMENTED`.
        # @param [String] name
        #   The name of the operation's parent resource.
        # @param [String] filter
        #   The standard list filter.
        # @param [Fixnum] page_size
        #   The standard list page size.
        # @param [String] page_token
        #   The standard list page token.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_tensorboard_experiment_run_operations(name, filter: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}/operations', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse
          command.params['name'] = name unless name.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] name
        #   The name of the operation resource to wait on.
        # @param [String] 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.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def wait_project_location_tensorboard_experiment_run_operation(name, timeout: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:wait', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['timeout'] = timeout unless timeout.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Creates a TensorboardTimeSeries.
        # @param [String] parent
        #   Required. The resource name of the TensorboardRun to create the
        #   TensorboardTimeSeries in. Format: `projects/`project`/locations/`location`/
        #   tensorboards/`tensorboard`/experiments/`experiment`/runs/`run``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1TensorboardTimeSeries] google_cloud_aiplatform_v1_tensorboard_time_series_object
        # @param [String] tensorboard_time_series_id
        #   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`"
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1TensorboardTimeSeries] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1TensorboardTimeSeries]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def create_project_location_tensorboard_experiment_run_time_series(parent, google_cloud_aiplatform_v1_tensorboard_time_series_object = nil, tensorboard_time_series_id: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+parent}/timeSeries', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1TensorboardTimeSeries::Representation
          command.request_object = google_cloud_aiplatform_v1_tensorboard_time_series_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1TensorboardTimeSeries::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1TensorboardTimeSeries
          command.params['parent'] = parent unless parent.nil?
          command.query['tensorboardTimeSeriesId'] = tensorboard_time_series_id unless tensorboard_time_series_id.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Deletes a TensorboardTimeSeries.
        # @param [String] name
        #   Required. The name of the TensorboardTimeSeries to be deleted. Format: `
        #   projects/`project`/locations/`location`/tensorboards/`tensorboard`/experiments/
        #   `experiment`/runs/`run`/timeSeries/`time_series``
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_tensorboard_experiment_run_time_series(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Exports a TensorboardTimeSeries' data. Data is returned in paginated responses.
        # @param [String] tensorboard_time_series
        #   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``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ExportTensorboardTimeSeriesDataRequest] google_cloud_aiplatform_v1_export_tensorboard_time_series_data_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ExportTensorboardTimeSeriesDataResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ExportTensorboardTimeSeriesDataResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def export_project_location_tensorboard_experiment_run_time_series_tensorboard_time_series(tensorboard_time_series, google_cloud_aiplatform_v1_export_tensorboard_time_series_data_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+tensorboardTimeSeries}:exportTensorboardTimeSeries', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ExportTensorboardTimeSeriesDataRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_export_tensorboard_time_series_data_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ExportTensorboardTimeSeriesDataResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ExportTensorboardTimeSeriesDataResponse
          command.params['tensorboardTimeSeries'] = tensorboard_time_series unless tensorboard_time_series.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Gets a TensorboardTimeSeries.
        # @param [String] name
        #   Required. The name of the TensorboardTimeSeries resource. Format: `projects/`
        #   project`/locations/`location`/tensorboards/`tensorboard`/experiments/`
        #   experiment`/runs/`run`/timeSeries/`time_series``
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1TensorboardTimeSeries] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1TensorboardTimeSeries]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_tensorboard_experiment_run_time_series(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1TensorboardTimeSeries::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1TensorboardTimeSeries
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists TensorboardTimeSeries in a Location.
        # @param [String] parent
        #   Required. The resource name of the TensorboardRun to list
        #   TensorboardTimeSeries. Format: `projects/`project`/locations/`location`/
        #   tensorboards/`tensorboard`/experiments/`experiment`/runs/`run``
        # @param [String] filter
        #   Lists the TensorboardTimeSeries that match the filter expression.
        # @param [String] order_by
        #   Field to use to sort the list.
        # @param [Fixnum] page_size
        #   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.
        # @param [String] page_token
        #   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.
        # @param [String] read_mask
        #   Mask specifying which fields to read.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListTensorboardTimeSeriesResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListTensorboardTimeSeriesResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_tensorboard_experiment_run_time_series(parent, filter: nil, order_by: nil, page_size: nil, page_token: nil, read_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+parent}/timeSeries', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListTensorboardTimeSeriesResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListTensorboardTimeSeriesResponse
          command.params['parent'] = parent unless parent.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['orderBy'] = order_by unless order_by.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['readMask'] = read_mask unless read_mask.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Updates a TensorboardTimeSeries.
        # @param [String] name
        #   Output only. Name of the TensorboardTimeSeries.
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1TensorboardTimeSeries] google_cloud_aiplatform_v1_tensorboard_time_series_object
        # @param [String] update_mask
        #   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.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1TensorboardTimeSeries] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1TensorboardTimeSeries]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def patch_project_location_tensorboard_experiment_run_time_series(name, google_cloud_aiplatform_v1_tensorboard_time_series_object = nil, update_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:patch, 'v1/{+name}', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1TensorboardTimeSeries::Representation
          command.request_object = google_cloud_aiplatform_v1_tensorboard_time_series_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1TensorboardTimeSeries::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1TensorboardTimeSeries
          command.params['name'] = name unless name.nil?
          command.query['updateMask'] = update_mask unless update_mask.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] tensorboard_time_series
        #   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``
        # @param [String] filter
        #   Reads the TensorboardTimeSeries' data that match the filter expression.
        # @param [Fixnum] max_data_points
        #   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.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ReadTensorboardTimeSeriesDataResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ReadTensorboardTimeSeriesDataResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def read_project_location_tensorboard_experiment_run_time_series(tensorboard_time_series, filter: nil, max_data_points: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+tensorboardTimeSeries}:read', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ReadTensorboardTimeSeriesDataResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ReadTensorboardTimeSeriesDataResponse
          command.params['tensorboardTimeSeries'] = tensorboard_time_series unless tensorboard_time_series.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['maxDataPoints'] = max_data_points unless max_data_points.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] time_series
        #   Required. The resource name of the TensorboardTimeSeries to list Blobs. Format:
        #   `projects/`project`/locations/`location`/tensorboards/`tensorboard`/
        #   experiments/`experiment`/runs/`run`/timeSeries/`time_series``
        # @param [Array<String>, String] blob_ids
        #   IDs of the blobs to read.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ReadTensorboardBlobDataResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ReadTensorboardBlobDataResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def read_project_location_tensorboard_experiment_run_time_series_blob_data(time_series, blob_ids: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+timeSeries}:readBlobData', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ReadTensorboardBlobDataResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ReadTensorboardBlobDataResponse
          command.params['timeSeries'] = time_series unless time_series.nil?
          command.query['blobIds'] = blob_ids unless blob_ids.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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`.
        # @param [String] name
        #   The name of the operation resource to be cancelled.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def cancel_project_location_tensorboard_experiment_run_time_series_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:cancel', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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`.
        # @param [String] name
        #   The name of the operation resource to be deleted.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_tensorboard_experiment_run_time_series_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] name
        #   The name of the operation resource.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_tensorboard_experiment_run_time_series_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists operations that match the specified filter in the request. If the server
        # doesn't support this method, it returns `UNIMPLEMENTED`.
        # @param [String] name
        #   The name of the operation's parent resource.
        # @param [String] filter
        #   The standard list filter.
        # @param [Fixnum] page_size
        #   The standard list page size.
        # @param [String] page_token
        #   The standard list page token.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_tensorboard_experiment_run_time_series_operations(name, filter: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}/operations', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse
          command.params['name'] = name unless name.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] name
        #   The name of the operation resource to wait on.
        # @param [String] 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.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def wait_project_location_tensorboard_experiment_run_time_series_operation(name, timeout: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:wait', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['timeout'] = timeout unless timeout.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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`.
        # @param [String] name
        #   The name of the operation resource to be cancelled.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def cancel_project_location_tensorboard_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:cancel', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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`.
        # @param [String] name
        #   The name of the operation resource to be deleted.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_tensorboard_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] name
        #   The name of the operation resource.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_tensorboard_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists operations that match the specified filter in the request. If the server
        # doesn't support this method, it returns `UNIMPLEMENTED`.
        # @param [String] name
        #   The name of the operation's parent resource.
        # @param [String] filter
        #   The standard list filter.
        # @param [Fixnum] page_size
        #   The standard list page size.
        # @param [String] page_token
        #   The standard list page token.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_tensorboard_operations(name, filter: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}/operations', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse
          command.params['name'] = name unless name.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] name
        #   The name of the operation resource to wait on.
        # @param [String] 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.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def wait_project_location_tensorboard_operation(name, timeout: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:wait', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['timeout'] = timeout unless timeout.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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`.
        # @param [String] name
        #   Required. The name of the TrainingPipeline to cancel. Format: `projects/`
        #   project`/locations/`location`/trainingPipelines/`training_pipeline``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1CancelTrainingPipelineRequest] google_cloud_aiplatform_v1_cancel_training_pipeline_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def cancel_project_location_training_pipeline(name, google_cloud_aiplatform_v1_cancel_training_pipeline_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:cancel', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1CancelTrainingPipelineRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_cancel_training_pipeline_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Creates a TrainingPipeline. A created TrainingPipeline right away will be
        # attempted to be run.
        # @param [String] parent
        #   Required. The resource name of the Location to create the TrainingPipeline in.
        #   Format: `projects/`project`/locations/`location``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1TrainingPipeline] google_cloud_aiplatform_v1_training_pipeline_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1TrainingPipeline] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1TrainingPipeline]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def create_project_location_training_pipeline(parent, google_cloud_aiplatform_v1_training_pipeline_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+parent}/trainingPipelines', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1TrainingPipeline::Representation
          command.request_object = google_cloud_aiplatform_v1_training_pipeline_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1TrainingPipeline::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1TrainingPipeline
          command.params['parent'] = parent unless parent.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Deletes a TrainingPipeline.
        # @param [String] name
        #   Required. The name of the TrainingPipeline resource to be deleted. Format: `
        #   projects/`project`/locations/`location`/trainingPipelines/`training_pipeline``
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_training_pipeline(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Gets a TrainingPipeline.
        # @param [String] name
        #   Required. The name of the TrainingPipeline resource. Format: `projects/`
        #   project`/locations/`location`/trainingPipelines/`training_pipeline``
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1TrainingPipeline] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1TrainingPipeline]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_training_pipeline(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1TrainingPipeline::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1TrainingPipeline
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists TrainingPipelines in a Location.
        # @param [String] parent
        #   Required. The resource name of the Location to list the TrainingPipelines from.
        #   Format: `projects/`project`/locations/`location``
        # @param [String] 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*"`
        # @param [Fixnum] page_size
        #   The standard list page size.
        # @param [String] page_token
        #   The standard list page token. Typically obtained via
        #   ListTrainingPipelinesResponse.next_page_token of the previous PipelineService.
        #   ListTrainingPipelines call.
        # @param [String] read_mask
        #   Mask specifying which fields to read.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListTrainingPipelinesResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListTrainingPipelinesResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_training_pipelines(parent, filter: nil, page_size: nil, page_token: nil, read_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+parent}/trainingPipelines', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListTrainingPipelinesResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListTrainingPipelinesResponse
          command.params['parent'] = parent unless parent.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['readMask'] = read_mask unless read_mask.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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`.
        # @param [String] name
        #   The name of the operation resource to be cancelled.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def cancel_project_location_training_pipeline_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:cancel', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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`.
        # @param [String] name
        #   The name of the operation resource to be deleted.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_training_pipeline_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] name
        #   The name of the operation resource.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_training_pipeline_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists operations that match the specified filter in the request. If the server
        # doesn't support this method, it returns `UNIMPLEMENTED`.
        # @param [String] name
        #   The name of the operation's parent resource.
        # @param [String] filter
        #   The standard list filter.
        # @param [Fixnum] page_size
        #   The standard list page size.
        # @param [String] page_token
        #   The standard list page token.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_training_pipeline_operations(name, filter: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}/operations', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse
          command.params['name'] = name unless name.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] name
        #   The name of the operation resource to wait on.
        # @param [String] 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.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def wait_project_location_training_pipeline_operation(name, timeout: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:wait', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['timeout'] = timeout unless timeout.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Cancels a TuningJob. Starts asynchronous cancellation on the TuningJob. The
        # server makes a best effort to cancel the job, but success is not guaranteed.
        # Clients can use GenAiTuningService.GetTuningJob or other methods to check
        # whether the cancellation succeeded or whether the job completed despite
        # cancellation. On successful cancellation, the TuningJob is not deleted;
        # instead it becomes a job with a TuningJob.error value with a google.rpc.Status.
        # code of 1, corresponding to `Code.CANCELLED`, and TuningJob.state is set to `
        # CANCELLED`.
        # @param [String] name
        #   Required. The name of the TuningJob to cancel. Format: `projects/`project`/
        #   locations/`location`/tuningJobs/`tuning_job``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1CancelTuningJobRequest] google_cloud_aiplatform_v1_cancel_tuning_job_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def cancel_project_location_tuning_job(name, google_cloud_aiplatform_v1_cancel_tuning_job_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:cancel', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1CancelTuningJobRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_cancel_tuning_job_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Creates a TuningJob. A created TuningJob right away will be attempted to be
        # run.
        # @param [String] parent
        #   Required. The resource name of the Location to create the TuningJob in. Format:
        #   `projects/`project`/locations/`location``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1TuningJob] google_cloud_aiplatform_v1_tuning_job_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1TuningJob] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1TuningJob]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def create_project_location_tuning_job(parent, google_cloud_aiplatform_v1_tuning_job_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+parent}/tuningJobs', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1TuningJob::Representation
          command.request_object = google_cloud_aiplatform_v1_tuning_job_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1TuningJob::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1TuningJob
          command.params['parent'] = parent unless parent.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Gets a TuningJob.
        # @param [String] name
        #   Required. The name of the TuningJob resource. Format: `projects/`project`/
        #   locations/`location`/tuningJobs/`tuning_job``
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1TuningJob] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1TuningJob]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_tuning_job(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1TuningJob::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1TuningJob
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists TuningJobs in a Location.
        # @param [String] parent
        #   Required. The resource name of the Location to list the TuningJobs from.
        #   Format: `projects/`project`/locations/`location``
        # @param [String] filter
        #   Optional. The standard list filter.
        # @param [Fixnum] page_size
        #   Optional. The standard list page size.
        # @param [String] page_token
        #   Optional. The standard list page token. Typically obtained via
        #   ListTuningJobsResponse.next_page_token of the previous GenAiTuningService.
        #   ListTuningJob][] call.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListTuningJobsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListTuningJobsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_tuning_jobs(parent, filter: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+parent}/tuningJobs', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListTuningJobsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListTuningJobsResponse
          command.params['parent'] = parent unless parent.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Rebase a TunedModel.
        # @param [String] parent
        #   Required. The resource name of the Location into which to rebase the Model.
        #   Format: `projects/`project`/locations/`location``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1RebaseTunedModelRequest] google_cloud_aiplatform_v1_rebase_tuned_model_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def rebase_project_location_tuning_job_tuned_model(parent, google_cloud_aiplatform_v1_rebase_tuned_model_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+parent}/tuningJobs:rebaseTunedModel', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1RebaseTunedModelRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_rebase_tuned_model_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['parent'] = parent unless parent.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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`.
        # @param [String] name
        #   The name of the operation resource to be cancelled.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def cancel_project_location_tuning_job_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:cancel', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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`.
        # @param [String] name
        #   The name of the operation resource to be deleted.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleProtobufEmpty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleProtobufEmpty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_tuning_job_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleProtobufEmpty::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleProtobufEmpty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.
        # @param [String] name
        #   The name of the operation resource.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_tuning_job_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists operations that match the specified filter in the request. If the server
        # doesn't support this method, it returns `UNIMPLEMENTED`.
        # @param [String] name
        #   The name of the operation's parent resource.
        # @param [String] filter
        #   The standard list filter.
        # @param [Fixnum] page_size
        #   The standard list page size.
        # @param [String] page_token
        #   The standard list page token.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_tuning_job_operations(name, filter: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}/operations', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningListOperationsResponse
          command.params['name'] = name unless name.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Return a list of tokens based on the input text.
        # @param [String] endpoint
        #   Required. The name of the Endpoint requested to get lists of tokens and token
        #   ids.
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ComputeTokensRequest] google_cloud_aiplatform_v1_compute_tokens_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ComputeTokensResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ComputeTokensResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def compute_publisher_model_tokens(endpoint, google_cloud_aiplatform_v1_compute_tokens_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+endpoint}:computeTokens', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ComputeTokensRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_compute_tokens_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ComputeTokensResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ComputeTokensResponse
          command.params['endpoint'] = endpoint unless endpoint.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Perform a token counting.
        # @param [String] endpoint
        #   Required. The name of the Endpoint requested to perform token counting. Format:
        #   `projects/`project`/locations/`location`/endpoints/`endpoint``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1CountTokensRequest] google_cloud_aiplatform_v1_count_tokens_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1CountTokensResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1CountTokensResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def count_publisher_model_tokens(endpoint, google_cloud_aiplatform_v1_count_tokens_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+endpoint}:countTokens', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1CountTokensRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_count_tokens_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1CountTokensResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1CountTokensResponse
          command.params['endpoint'] = endpoint unless endpoint.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Fetch an asynchronous online prediction operation.
        # @param [String] endpoint
        #   Required. The name of the Endpoint requested to serve the prediction. Format: `
        #   projects/`project`/locations/`location`/endpoints/`endpoint`` or `projects/`
        #   project`/locations/`location`/publishers/`publisher`/models/`model``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1FetchPredictOperationRequest] google_cloud_aiplatform_v1_fetch_predict_operation_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def fetch_publisher_model_predict_operation(endpoint, google_cloud_aiplatform_v1_fetch_predict_operation_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+endpoint}:fetchPredictOperation', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1FetchPredictOperationRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_fetch_predict_operation_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['endpoint'] = endpoint unless endpoint.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Generate content with multimodal inputs.
        # @param [String] model
        #   Required. The fully qualified name of the publisher model or tuned model
        #   endpoint to use. Publisher model format: `projects/`project`/locations/`
        #   location`/publishers/*/models/*` Tuned model endpoint format: `projects/`
        #   project`/locations/`location`/endpoints/`endpoint``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1GenerateContentRequest] google_cloud_aiplatform_v1_generate_content_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1GenerateContentResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1GenerateContentResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def generate_publisher_model_content(model, google_cloud_aiplatform_v1_generate_content_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+model}:generateContent', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1GenerateContentRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_generate_content_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1GenerateContentResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1GenerateContentResponse
          command.params['model'] = model unless model.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Gets a Model Garden publisher model.
        # @param [String] name
        #   Required. The name of the PublisherModel resource. Format: `publishers/`
        #   publisher`/models/`publisher_model``
        # @param [String] hugging_face_token
        #   Optional. Token used to access Hugging Face gated models.
        # @param [Boolean] is_hugging_face_model
        #   Optional. Boolean indicates whether the requested model is a Hugging Face
        #   model.
        # @param [String] language_code
        #   Optional. The IETF BCP-47 language code representing the language in which the
        #   publisher model's text information should be written in.
        # @param [String] view
        #   Optional. PublisherModel view specifying which fields to read.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1PublisherModel] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1PublisherModel]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_publisher_model(name, hugging_face_token: nil, is_hugging_face_model: nil, language_code: nil, view: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1PublisherModel::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1PublisherModel
          command.params['name'] = name unless name.nil?
          command.query['huggingFaceToken'] = hugging_face_token unless hugging_face_token.nil?
          command.query['isHuggingFaceModel'] = is_hugging_face_model unless is_hugging_face_model.nil?
          command.query['languageCode'] = language_code unless language_code.nil?
          command.query['view'] = view unless view.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Perform an online prediction.
        # @param [String] endpoint
        #   Required. The name of the Endpoint requested to serve the prediction. Format: `
        #   projects/`project`/locations/`location`/endpoints/`endpoint``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1PredictRequest] google_cloud_aiplatform_v1_predict_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1PredictResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1PredictResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def predict_publisher_model(endpoint, google_cloud_aiplatform_v1_predict_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+endpoint}:predict', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1PredictRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_predict_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1PredictResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1PredictResponse
          command.params['endpoint'] = endpoint unless endpoint.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 
        # @param [String] endpoint
        #   Required. The name of the Endpoint requested to serve the prediction. Format: `
        #   projects/`project`/locations/`location`/endpoints/`endpoint`` or `projects/`
        #   project`/locations/`location`/publishers/`publisher`/models/`model``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1PredictLongRunningRequest] google_cloud_aiplatform_v1_predict_long_running_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def predict_publisher_model_long_running(endpoint, google_cloud_aiplatform_v1_predict_long_running_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+endpoint}:predictLongRunning', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1PredictLongRunningRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_predict_long_running_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['endpoint'] = endpoint unless endpoint.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Generate content with multimodal inputs with streaming support.
        # @param [String] model
        #   Required. The fully qualified name of the publisher model or tuned model
        #   endpoint to use. Publisher model format: `projects/`project`/locations/`
        #   location`/publishers/*/models/*` Tuned model endpoint format: `projects/`
        #   project`/locations/`location`/endpoints/`endpoint``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1GenerateContentRequest] google_cloud_aiplatform_v1_generate_content_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1GenerateContentResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1GenerateContentResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def stream_publisher_model_generate_content(model, google_cloud_aiplatform_v1_generate_content_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+model}:streamGenerateContent', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1GenerateContentRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_generate_content_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1GenerateContentResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1GenerateContentResponse
          command.params['model'] = model unless model.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Creates a reasoning engine.
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ReasoningEngine] google_cloud_aiplatform_v1_reasoning_engine_object
        # @param [String] parent
        #   Required. The resource name of the Location to create the ReasoningEngine in.
        #   Format: `projects/`project`/locations/`location``
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def create_reasoning_engine(google_cloud_aiplatform_v1_reasoning_engine_object = nil, parent: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/reasoningEngines', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ReasoningEngine::Representation
          command.request_object = google_cloud_aiplatform_v1_reasoning_engine_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.query['parent'] = parent unless parent.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Deletes a reasoning engine.
        # @param [String] name
        #   Required. The name of the ReasoningEngine resource to be deleted. Format: `
        #   projects/`project`/locations/`location`/reasoningEngines/`reasoning_engine``
        # @param [Boolean] force
        #   Optional. If set to true, child resources of this reasoning engine will also
        #   be deleted. Otherwise, the request will fail with FAILED_PRECONDITION error
        #   when the reasoning engine has undeleted child resources.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_reasoning_engine(name, force: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['force'] = force unless force.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Gets a reasoning engine.
        # @param [String] name
        #   Required. The name of the ReasoningEngine resource. Format: `projects/`project`
        #   /locations/`location`/reasoningEngines/`reasoning_engine``
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ReasoningEngine] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ReasoningEngine]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_reasoning_engine(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/{+name}', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ReasoningEngine::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ReasoningEngine
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists reasoning engines in a location.
        # @param [String] filter
        #   Optional. The standard list filter. More detail in [AIP-160](https://google.
        #   aip.dev/160).
        # @param [Fixnum] page_size
        #   Optional. The standard list page size.
        # @param [String] page_token
        #   Optional. The standard list page token.
        # @param [String] parent
        #   Required. The resource name of the Location to list the ReasoningEngines from.
        #   Format: `projects/`project`/locations/`location``
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListReasoningEnginesResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListReasoningEnginesResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_reasoning_engines(filter: nil, page_size: nil, page_token: nil, parent: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1/reasoningEngines', options)
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListReasoningEnginesResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ListReasoningEnginesResponse
          command.query['filter'] = filter unless filter.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['parent'] = parent unless parent.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Updates a reasoning engine.
        # @param [String] name
        #   Identifier. The resource name of the ReasoningEngine. Format: `projects/`
        #   project`/locations/`location`/reasoningEngines/`reasoning_engine``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ReasoningEngine] google_cloud_aiplatform_v1_reasoning_engine_object
        # @param [String] update_mask
        #   Optional. Mask specifying which fields to update.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleLongrunningOperation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleLongrunningOperation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def patch_reasoning_engine(name, google_cloud_aiplatform_v1_reasoning_engine_object = nil, update_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:patch, 'v1/{+name}', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1ReasoningEngine::Representation
          command.request_object = google_cloud_aiplatform_v1_reasoning_engine_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleLongrunningOperation::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleLongrunningOperation
          command.params['name'] = name unless name.nil?
          command.query['updateMask'] = update_mask unless update_mask.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Queries using a reasoning engine.
        # @param [String] name
        #   Required. The name of the ReasoningEngine resource to use. Format: `projects/`
        #   project`/locations/`location`/reasoningEngines/`reasoning_engine``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1QueryReasoningEngineRequest] google_cloud_aiplatform_v1_query_reasoning_engine_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1QueryReasoningEngineResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1QueryReasoningEngineResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def query_reasoning_engine(name, google_cloud_aiplatform_v1_query_reasoning_engine_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:query', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1QueryReasoningEngineRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_query_reasoning_engine_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1QueryReasoningEngineResponse::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1QueryReasoningEngineResponse
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Streams queries using a reasoning engine.
        # @param [String] name
        #   Required. The name of the ReasoningEngine resource to use. Format: `projects/`
        #   project`/locations/`location`/reasoningEngines/`reasoning_engine``
        # @param [Google::Apis::AiplatformV1::GoogleCloudAiplatformV1StreamQueryReasoningEngineRequest] google_cloud_aiplatform_v1_stream_query_reasoning_engine_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::AiplatformV1::GoogleApiHttpBody] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::AiplatformV1::GoogleApiHttpBody]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def stream_reasoning_engine_query(name, google_cloud_aiplatform_v1_stream_query_reasoning_engine_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1/{+name}:streamQuery', options)
          command.request_representation = Google::Apis::AiplatformV1::GoogleCloudAiplatformV1StreamQueryReasoningEngineRequest::Representation
          command.request_object = google_cloud_aiplatform_v1_stream_query_reasoning_engine_request_object
          command.response_representation = Google::Apis::AiplatformV1::GoogleApiHttpBody::Representation
          command.response_class = Google::Apis::AiplatformV1::GoogleApiHttpBody
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end

        protected

        def apply_command_defaults(command)
          command.query['key'] = key unless key.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
        end
      end
    end
  end
end
