use std::sync::Arc;
use google_cloud_rust_raw::cloud::asset::v1::{
asset_service_grpc::AssetServiceClient,
asset_service::ExportAssetsRequest,
};
use grpcio::{Channel, ChannelBuilder, ChannelCredentials, EnvBuilder};
use std::error::Error;
fn connect(endpoint: &str) -> Channel {
let env = Arc::new(EnvBuilder::new().build());
let creds =
ChannelCredentials::google_default_credentials().expect("No Google credentials found");
ChannelBuilder::new(env)
.max_send_message_len(1 << 28)
.max_receive_message_len(1 << 28)
.set_credentials(creds)
.connect(endpoint)
}
fn main() -> Result<(), Box<dyn Error>> {
let endpoint = "cloudasset.googleapis.com";
let channel = connect(endpoint);
let client = AssetServiceClient::new(channel);
let mut req = ExportAssetsRequest::new();
req.set_parent(format!("projects/{}", "mozilla-rust-sdk-dev"));
match client.export_assets(&req) {
Ok(response) => {
print!("{:?}", response);
},
Err(error) => println!("Failed to list assets: {}", error),
}
Ok(())
}