/// <summary>Snippet for CreateIndexAsync</summary> public async Task CreateIndexRequestObjectAsync() { // Snippet: CreateIndexAsync(CreateIndexRequest, CallSettings) // Additional: CreateIndexAsync(CreateIndexRequest, CancellationToken) // Create client DatastoreAdminClient datastoreAdminClient = await DatastoreAdminClient.CreateAsync(); // Initialize request argument(s) CreateIndexRequest request = new CreateIndexRequest { ProjectId = "", Index = new gcdav::Index(), }; // Make the request Operation <gcdav::Index, IndexOperationMetadata> response = await datastoreAdminClient.CreateIndexAsync(request); // Poll until the returned long-running operation is complete Operation <gcdav::Index, IndexOperationMetadata> completedResponse = await response.PollUntilCompletedAsync(); // Retrieve the operation result gcdav::Index 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 <gcdav::Index, IndexOperationMetadata> retrievedResponse = await datastoreAdminClient.PollOnceCreateIndexAsync(operationName); // Check if the retrieved long-running operation has completed if (retrievedResponse.IsCompleted) { // If it has completed, then access the result gcdav::Index retrievedResult = retrievedResponse.Result; } // End snippet }