pulsar_admin_sdk/apis/
resourcegroups_api.rs

1/*
2 * Pulsar Admin REST API
3 *
4 * This provides the REST API for admin operations
5 *
6 * The version of the OpenAPI document: v2
7 * 
8 * Generated by: https://openapi-generator.tech
9 */
10
11
12use reqwest;
13
14use crate::{apis::ResponseContent, models};
15use super::{Error, configuration};
16
17
18/// struct for typed errors of method [`resource_groups_create_or_update_resource_group`]
19#[derive(Debug, Clone, Serialize, Deserialize)]
20#[serde(untagged)]
21pub enum ResourceGroupsCreateOrUpdateResourceGroupError {
22    Status403(),
23    Status404(),
24    UnknownValue(serde_json::Value),
25}
26
27/// struct for typed errors of method [`resource_groups_delete_resource_group`]
28#[derive(Debug, Clone, Serialize, Deserialize)]
29#[serde(untagged)]
30pub enum ResourceGroupsDeleteResourceGroupError {
31    Status403(),
32    Status404(),
33    Status409(),
34    UnknownValue(serde_json::Value),
35}
36
37/// struct for typed errors of method [`resource_groups_get_resource_group`]
38#[derive(Debug, Clone, Serialize, Deserialize)]
39#[serde(untagged)]
40pub enum ResourceGroupsGetResourceGroupError {
41    Status403(),
42    Status404(),
43    UnknownValue(serde_json::Value),
44}
45
46/// struct for typed errors of method [`resource_groups_get_resource_groups`]
47#[derive(Debug, Clone, Serialize, Deserialize)]
48#[serde(untagged)]
49pub enum ResourceGroupsGetResourceGroupsError {
50    Status403(),
51    UnknownValue(serde_json::Value),
52}
53
54
55pub async fn resource_groups_create_or_update_resource_group(configuration: &configuration::Configuration, resourcegroup: &str, body: Option<models::ResourceGroup>) -> Result<(), Error<ResourceGroupsCreateOrUpdateResourceGroupError>> {
56    let local_var_configuration = configuration;
57
58    let local_var_client = &local_var_configuration.client;
59
60    let local_var_uri_str = format!("{}/resourcegroups/{resourcegroup}", local_var_configuration.base_path, resourcegroup=crate::apis::urlencode(resourcegroup));
61    let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str());
62
63    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
64        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
65    }
66    if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
67        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
68    };
69    local_var_req_builder = local_var_req_builder.json(&body);
70
71    let local_var_req = local_var_req_builder.build()?;
72    let local_var_resp = local_var_client.execute(local_var_req).await?;
73
74    let local_var_status = local_var_resp.status();
75    let local_var_content = local_var_resp.text().await?;
76
77    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
78        Ok(())
79    } else {
80        let local_var_entity: Option<ResourceGroupsCreateOrUpdateResourceGroupError> = serde_json::from_str(&local_var_content).ok();
81        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
82        Err(Error::ResponseError(local_var_error))
83    }
84}
85
86pub async fn resource_groups_delete_resource_group(configuration: &configuration::Configuration, resourcegroup: &str) -> Result<(), Error<ResourceGroupsDeleteResourceGroupError>> {
87    let local_var_configuration = configuration;
88
89    let local_var_client = &local_var_configuration.client;
90
91    let local_var_uri_str = format!("{}/resourcegroups/{resourcegroup}", local_var_configuration.base_path, resourcegroup=crate::apis::urlencode(resourcegroup));
92    let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str());
93
94    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
95        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
96    }
97    if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
98        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
99    };
100
101    let local_var_req = local_var_req_builder.build()?;
102    let local_var_resp = local_var_client.execute(local_var_req).await?;
103
104    let local_var_status = local_var_resp.status();
105    let local_var_content = local_var_resp.text().await?;
106
107    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
108        Ok(())
109    } else {
110        let local_var_entity: Option<ResourceGroupsDeleteResourceGroupError> = serde_json::from_str(&local_var_content).ok();
111        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
112        Err(Error::ResponseError(local_var_error))
113    }
114}
115
116pub async fn resource_groups_get_resource_group(configuration: &configuration::Configuration, resourcegroup: &str) -> Result<models::ResourceGroup, Error<ResourceGroupsGetResourceGroupError>> {
117    let local_var_configuration = configuration;
118
119    let local_var_client = &local_var_configuration.client;
120
121    let local_var_uri_str = format!("{}/resourcegroups/{resourcegroup}", local_var_configuration.base_path, resourcegroup=crate::apis::urlencode(resourcegroup));
122    let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
123
124    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
125        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
126    }
127    if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
128        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
129    };
130
131    let local_var_req = local_var_req_builder.build()?;
132    let local_var_resp = local_var_client.execute(local_var_req).await?;
133
134    let local_var_status = local_var_resp.status();
135    let local_var_content = local_var_resp.text().await?;
136
137    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
138        serde_json::from_str(&local_var_content).map_err(Error::from)
139    } else {
140        let local_var_entity: Option<ResourceGroupsGetResourceGroupError> = serde_json::from_str(&local_var_content).ok();
141        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
142        Err(Error::ResponseError(local_var_error))
143    }
144}
145
146pub async fn resource_groups_get_resource_groups(configuration: &configuration::Configuration, ) -> Result<Vec<String>, Error<ResourceGroupsGetResourceGroupsError>> {
147    let local_var_configuration = configuration;
148
149    let local_var_client = &local_var_configuration.client;
150
151    let local_var_uri_str = format!("{}/resourcegroups", local_var_configuration.base_path);
152    let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
153
154    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
155        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
156    }
157    if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
158        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
159    };
160
161    let local_var_req = local_var_req_builder.build()?;
162    let local_var_resp = local_var_client.execute(local_var_req).await?;
163
164    let local_var_status = local_var_resp.status();
165    let local_var_content = local_var_resp.text().await?;
166
167    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
168        serde_json::from_str(&local_var_content).map_err(Error::from)
169    } else {
170        let local_var_entity: Option<ResourceGroupsGetResourceGroupsError> = serde_json::from_str(&local_var_content).ok();
171        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
172        Err(Error::ResponseError(local_var_error))
173    }
174}
175