/// <summary>Snippet for ImportCompletionData</summary>
        public void ImportCompletionDataRequestObject()
        {
            // Snippet: ImportCompletionData(ImportCompletionDataRequest, CallSettings)
            // Create client
            CompletionServiceClient completionServiceClient = CompletionServiceClient.Create();
            // Initialize request argument(s)
            ImportCompletionDataRequest request = new ImportCompletionDataRequest
            {
                ParentAsCatalogName     = CatalogName.FromProjectLocationCatalog("[PROJECT]", "[LOCATION]", "[CATALOG]"),
                InputConfig             = new CompletionDataInputConfig(),
                NotificationPubsubTopic = "",
            };
            // Make the request
            Operation <ImportCompletionDataResponse, ImportMetadata> response = completionServiceClient.ImportCompletionData(request);

            // Poll until the returned long-running operation is complete
            Operation <ImportCompletionDataResponse, ImportMetadata> completedResponse = response.PollUntilCompleted();
            // Retrieve the operation result
            ImportCompletionDataResponse result = completedResponse.Result;

            // Or get the name of the operation
            string operationName = response.Name;
            // This name can be stored, then the long-running operation retrieved later by name
            Operation <ImportCompletionDataResponse, ImportMetadata> retrievedResponse = completionServiceClient.PollOnceImportCompletionData(operationName);

            // Check if the retrieved long-running operation has completed
            if (retrievedResponse.IsCompleted)
            {
                // If it has completed, then access the result
                ImportCompletionDataResponse retrievedResult = retrievedResponse.Result;
            }
            // End snippet
        }
 /// <summary>
 /// Bulk import of processed completion dataset.
 ///
 /// Request processing may be synchronous. Partial updating is not supported.
 ///
 /// This feature is only available for users who have Retail Search enabled.
 /// Please submit a form [here](https://cloud.google.com/contact) to contact
 /// cloud sales if you are interested in using Retail Search.
 /// </summary>
 /// <param name="request">The request object containing all of the parameters for the API call.</param>
 /// <param name="callSettings">If not null, applies overrides to this RPC call.</param>
 /// <returns>A Task containing the RPC response.</returns>
 public override async stt::Task <lro::Operation <ImportCompletionDataResponse, ImportMetadata> > ImportCompletionDataAsync(ImportCompletionDataRequest request, gaxgrpc::CallSettings callSettings = null)
 {
     Modify_ImportCompletionDataRequest(ref request, ref callSettings);
     return(new lro::Operation <ImportCompletionDataResponse, ImportMetadata>(await _callImportCompletionData.Async(request, callSettings).ConfigureAwait(false), ImportCompletionDataOperationsClient));
 }
 /// <summary>
 /// Bulk import of processed completion dataset.
 ///
 /// Request processing may be synchronous. Partial updating is not supported.
 ///
 /// This feature is only available for users who have Retail Search enabled.
 /// Please submit a form [here](https://cloud.google.com/contact) to contact
 /// cloud sales if you are interested in using Retail Search.
 /// </summary>
 /// <param name="request">The request object containing all of the parameters for the API call.</param>
 /// <param name="callSettings">If not null, applies overrides to this RPC call.</param>
 /// <returns>The RPC response.</returns>
 public override lro::Operation <ImportCompletionDataResponse, ImportMetadata> ImportCompletionData(ImportCompletionDataRequest request, gaxgrpc::CallSettings callSettings = null)
 {
     Modify_ImportCompletionDataRequest(ref request, ref callSettings);
     return(new lro::Operation <ImportCompletionDataResponse, ImportMetadata>(_callImportCompletionData.Sync(request, callSettings), ImportCompletionDataOperationsClient));
 }
 partial void Modify_ImportCompletionDataRequest(ref ImportCompletionDataRequest request, ref gaxgrpc::CallSettings settings);
 /// <summary>
 /// Bulk import of processed completion dataset.
 ///
 /// Request processing may be synchronous. Partial updating is not supported.
 ///
 /// This feature is only available for users who have Retail Search enabled.
 /// Please submit a form [here](https://cloud.google.com/contact) to contact
 /// cloud sales if you are interested in using Retail Search.
 /// </summary>
 /// <param name="request">The request object containing all of the parameters for the API call.</param>
 /// <param name="cancellationToken">A <see cref="st::CancellationToken"/> to use for this RPC.</param>
 /// <returns>A Task containing the RPC response.</returns>
 public virtual stt::Task <lro::Operation <ImportCompletionDataResponse, ImportMetadata> > ImportCompletionDataAsync(ImportCompletionDataRequest request, st::CancellationToken cancellationToken) =>
 ImportCompletionDataAsync(request, gaxgrpc::CallSettings.FromCancellationToken(cancellationToken));
 /// <summary>
 /// Bulk import of processed completion dataset.
 ///
 /// Request processing may be synchronous. Partial updating is not supported.
 ///
 /// This feature is only available for users who have Retail Search enabled.
 /// Please submit a form [here](https://cloud.google.com/contact) to contact
 /// cloud sales if you are interested in using Retail Search.
 /// </summary>
 /// <param name="request">The request object containing all of the parameters for the API call.</param>
 /// <param name="callSettings">If not null, applies overrides to this RPC call.</param>
 /// <returns>A Task containing the RPC response.</returns>
 public virtual stt::Task <lro::Operation <ImportCompletionDataResponse, ImportMetadata> > ImportCompletionDataAsync(ImportCompletionDataRequest request, gaxgrpc::CallSettings callSettings = null) =>
 throw new sys::NotImplementedException();