azure_security_keyvault/keys/operations/
get_random_bytes.rs1use crate::prelude::*;
2use azure_core::{headers::Headers, Method, Url};
3use serde_json::{Map, Value};
4
5operation! {
6 GetRandomBytes,
7 client: KeyClient,
8 hsm_name: String,
9 count: u8,
10}
11
12impl GetRandomBytesBuilder {
13 pub fn into_future(self) -> GetRandomBytes {
14 Box::pin(async move {
15 let vault_url = format!("https://{}.managedhsm.azure.net/", self.hsm_name);
17 let mut uri = Url::parse(&vault_url)?;
18 let path = "rng".to_string();
19
20 uri.set_path(&path);
21
22 let mut request_body = Map::new();
23 request_body.insert("count".to_owned(), Value::from(self.count));
24
25 let headers = Headers::new();
26 let mut request = KeyvaultClient::finalize_request(
27 uri,
28 Method::Post,
29 headers,
30 Some(Value::Object(request_body).to_string().into()),
31 );
32
33 self.client
34 .keyvault_client
35 .send(&self.context, &mut request)
36 .await?
37 .json()
38 .await
39 })
40 }
41}
42
43type GetRandomBytesResponse = GetRandomBytesResult;