use super::{Vpc, VpcService};
use crate::service::vpc::api_describe_subnets;
use crate::service::vpc::api_describe_vpcs;
use crate::volcengine::client::client;
use crate::volcengine::client::client_info;
use crate::volcengine::client::config as client_config;
use crate::volcengine::common;
use crate::volcengine::error::error;
use crate::volcengine::request::handles;
use crate::volcengine::session::session;
impl VpcService for Vpc {
fn new_vpc(session: session::Session) -> Result<Self, error::Error> {
let client_config = session.new_client_config(client_config::ClientServiceName::Vpc);
let client_info = client_info::ClientInfo::builder()
.with_service_name(client_config::ClientServiceName::Vpc)
.with_api_version(common::COMMON_VERSION_2020_04_01)
.with_signing_region(&client_config.signing_region)
.build()?;
let request_handles = handles::Handles {};
let client = client::Client::builder()
.with_client_info(&client_info)
.with_config(&client_config)
.with_handles(&request_handles)
.build()?;
Ok(Vpc { client: client })
}
async fn new_describe_vpcs(
&self,
request: volcengine_sdk_protobuf::protobuf::vpc_vpc::DescribeVpcsReq,
) -> Result<volcengine_sdk_protobuf::protobuf::vpc_vpc::DescribeVpcsResp, error::Error> {
api_describe_vpcs::ApiDescribeVpcsVpc
.new_describe_vpcs(self, request)
.await
}
async fn new_describe_subnets(
&self,
request: volcengine_sdk_protobuf::protobuf::vpc_subnet::DescribeSubnetsReq,
) -> Result<volcengine_sdk_protobuf::protobuf::vpc_subnet::DescribeSubnetsResp, error::Error>
{
api_describe_subnets::ApiDescribeSubnetsVpc
.new_describe_subnets(self, request)
.await
}
}