// snippet.hide
// Code generated by sidekick. DO NOT EDIT.
//
// Copyright 2026 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
//
//     https://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.

#if DataStoreService
  // snippet.show
  import Foundation
  import GoogleCloudDiscoveryEngineV1
  import GoogleCloudWkt
  import GoogleLongRunning
  import GoogleRpc

  func sample(
    client: DataStoreServiceClient, projectId: String, locationId: String, dataStoreId: String
  ) async throws {
    let response = try await client.updateDataStore(
      request: UpdateDataStoreRequest()
        .with {
          $0.dataStore = DataStore().with {
            $0.name = "projects/\(projectId)/locations/\(locationId)/dataStores/\(dataStoreId)"
          }
          $0.updateMask = GoogleCloudWkt.FieldMask(paths: ["field.path1", "field.path2"])
        }
    )
    print("Success: \(response)")
  }
  // snippet.hide

  @main
  struct SnippetRunner {
    static func main() async throws {
      do {
        let client = try GoogleCloudDiscoveryEngineV1.DataStoreServiceClient()
        try await sample(
          client: client, projectId: "[placeholder]", locationId: "[placeholder]",
          dataStoreId: "[placeholder]")
      } catch {
        print("Error: \(error)")
      }
    }
  }
#else
  @main
  struct SnippetRunner {
    static func main() {}
  }
#endif
