1use crate::{
2 Result,
3 client::RequestOptions,
4 types::ssl::{
5 ApplyCertificateRequest, ApplyCertificateResponse, DescribeCertificateRequest,
6 DescribeCertificateResponse, DownloadCertificateRequest, DownloadCertificateResponse,
7 UploadCertificateRequest, UploadCertificateResponse,
8 },
9};
10
11#[cfg(feature = "async")]
12use crate::client::Client;
13
14#[cfg(feature = "async")]
15#[derive(Clone)]
16pub struct SslService {
17 client: Client,
18}
19
20#[cfg(feature = "async")]
21impl SslService {
22 pub(crate) fn new(client: Client) -> Self {
23 Self { client }
24 }
25
26 pub async fn apply_certificate(
27 &self,
28 request: &ApplyCertificateRequest,
29 ) -> Result<ApplyCertificateResponse> {
30 self.client.execute(request, None).await
31 }
32
33 pub async fn apply_certificate_with_options(
34 &self,
35 request: &ApplyCertificateRequest,
36 options: &RequestOptions,
37 ) -> Result<ApplyCertificateResponse> {
38 self.client.execute(request, Some(options)).await
39 }
40
41 pub async fn describe_certificate(
42 &self,
43 request: &DescribeCertificateRequest,
44 ) -> Result<DescribeCertificateResponse> {
45 self.client.execute(request, None).await
46 }
47
48 pub async fn describe_certificate_with_options(
49 &self,
50 request: &DescribeCertificateRequest,
51 options: &RequestOptions,
52 ) -> Result<DescribeCertificateResponse> {
53 self.client.execute(request, Some(options)).await
54 }
55
56 pub async fn download_certificate(
57 &self,
58 request: &DownloadCertificateRequest,
59 ) -> Result<DownloadCertificateResponse> {
60 self.client.execute(request, None).await
61 }
62
63 pub async fn download_certificate_with_options(
64 &self,
65 request: &DownloadCertificateRequest,
66 options: &RequestOptions,
67 ) -> Result<DownloadCertificateResponse> {
68 self.client.execute(request, Some(options)).await
69 }
70
71 pub async fn upload_certificate(
72 &self,
73 request: &UploadCertificateRequest,
74 ) -> Result<UploadCertificateResponse> {
75 self.client.execute(request, None).await
76 }
77
78 pub async fn upload_certificate_with_options(
79 &self,
80 request: &UploadCertificateRequest,
81 options: &RequestOptions,
82 ) -> Result<UploadCertificateResponse> {
83 self.client.execute(request, Some(options)).await
84 }
85}
86
87#[cfg(feature = "blocking")]
88use crate::client::BlockingClient;
89
90#[cfg(feature = "blocking")]
91#[derive(Clone)]
92pub struct BlockingSslService {
93 client: BlockingClient,
94}
95
96#[cfg(feature = "blocking")]
97impl BlockingSslService {
98 pub(crate) fn new(client: BlockingClient) -> Self {
99 Self { client }
100 }
101
102 pub fn apply_certificate(
103 &self,
104 request: &ApplyCertificateRequest,
105 ) -> Result<ApplyCertificateResponse> {
106 self.client.execute(request, None)
107 }
108
109 pub fn apply_certificate_with_options(
110 &self,
111 request: &ApplyCertificateRequest,
112 options: &RequestOptions,
113 ) -> Result<ApplyCertificateResponse> {
114 self.client.execute(request, Some(options))
115 }
116
117 pub fn describe_certificate(
118 &self,
119 request: &DescribeCertificateRequest,
120 ) -> Result<DescribeCertificateResponse> {
121 self.client.execute(request, None)
122 }
123
124 pub fn describe_certificate_with_options(
125 &self,
126 request: &DescribeCertificateRequest,
127 options: &RequestOptions,
128 ) -> Result<DescribeCertificateResponse> {
129 self.client.execute(request, Some(options))
130 }
131
132 pub fn download_certificate(
133 &self,
134 request: &DownloadCertificateRequest,
135 ) -> Result<DownloadCertificateResponse> {
136 self.client.execute(request, None)
137 }
138
139 pub fn download_certificate_with_options(
140 &self,
141 request: &DownloadCertificateRequest,
142 options: &RequestOptions,
143 ) -> Result<DownloadCertificateResponse> {
144 self.client.execute(request, Some(options))
145 }
146
147 pub fn upload_certificate(
148 &self,
149 request: &UploadCertificateRequest,
150 ) -> Result<UploadCertificateResponse> {
151 self.client.execute(request, None)
152 }
153
154 pub fn upload_certificate_with_options(
155 &self,
156 request: &UploadCertificateRequest,
157 options: &RequestOptions,
158 ) -> Result<UploadCertificateResponse> {
159 self.client.execute(request, Some(options))
160 }
161}