gcloud_storage/http/hmac_keys/
update.rs

1use reqwest_middleware::{ClientWithMiddleware as Client, RequestBuilder};
2
3use crate::http::hmac_keys::HmacKeyMetadata;
4use crate::http::Escape;
5
6/// Request object to update an HMAC key state.
7#[derive(Clone, PartialEq, Eq, serde::Deserialize, serde::Serialize, Debug)]
8#[serde(rename_all = "camelCase")]
9pub struct UpdateHmacKeyRequest {
10    /// Required. The id of the HMAC key.
11    pub access_id: String,
12    /// Required. The project id the HMAC's service account lies in.
13    pub project_id: String,
14    /// Required. The service account owner of the HMAC key.
15    pub metadata: HmacKeyMetadata,
16}
17
18pub(crate) fn build(base_url: &str, client: &Client, req: &UpdateHmacKeyRequest) -> RequestBuilder {
19    let url = format!(
20        "{}/projects/{}/hmacKeys/{}",
21        base_url,
22        req.project_id.escape(),
23        req.access_id.escape()
24    );
25    client.put(url).json(&req.metadata)
26}