use crate::service::redis;
use crate::volcengine::error::error;
use crate::volcengine::request::operation;
use crate::volcengine::request::operation_config;
use crate::volcengine::request::request;
use crate::volcengine::request::request::RequestVolcengine;
use crate::volcengine::request::response::ApiResponse;
use volcengine_sdk_protobuf::protobuf::redis_instance;
pub struct ApiModifyDBInstanceShardNumber;
impl ApiModifyDBInstanceShardNumber {
pub async fn new_modify_db_instance_shard_number(
&self,
redis: &redis::Redis,
request: redis_instance::RedisModifyDbInstanceShardNumberReq,
) -> Result<redis_instance::RedisModifyDbInstanceShardNumberResp, error::Error> {
self.new_modify_db_instance_shard_number_request(redis, request)
.await
}
async fn new_modify_db_instance_shard_number_request(
&self,
redis: &redis::Redis,
request: redis_instance::RedisModifyDbInstanceShardNumberReq,
) -> Result<redis_instance::RedisModifyDbInstanceShardNumberResp, error::Error> {
let request_operation = operation::Operation::builder()
.with_operation_name(
operation_config::operation_name::OperationName::RedisOperation(
operation_config::operation_name_redis::OperationNameRedis::ModifyDBInstanceShardNumber,
),
)
.with_operation_http_method(
operation_config::operation_http_method::OperationHttpMethod::POST,
)
.with_operation_http_path(
operation_config::operation_http_path::OperationHttpPath::Default,
)
.build()?;
let response = request::Request::builder()
.with_client_info(&redis.client.client_info)
.with_config(&redis.client.config)
.with_handles(&redis.client.handles)
.with_operation(&request_operation)
.build()?
.send(request)
.await?;
let mut resp = volcengine_sdk_protobuf::protobuf::redis_instance::RedisModifyDbInstanceShardNumberResp::default();
resp.to_struct(response).await?;
return Ok(resp);
}
}