1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172
use crate::Client;
use crate::ClientResult;
pub struct IpWarmup {
pub client: Client,
}
impl IpWarmup {
#[doc(hidden)]
pub fn new(client: Client) -> Self {
IpWarmup { client }
}
/**
* Retrieve all IPs currently in warmup.
*
* This function performs a `GET` to the `/ips/warmup` endpoint.
*
* **This endpoint allows you to retrieve all of your IP addresses that are currently warming up.**
*/
pub async fn get_ips_warmup(
&self,
) -> ClientResult<crate::Response<Vec<crate::types::IpWarmupResponse>>> {
let url = self.client.url("/ips/warmup", None);
self.client
.get(
&url,
crate::Message {
body: None,
content_type: None,
},
)
.await
}
/**
* Retrieve all IPs currently in warmup.
*
* This function performs a `GET` to the `/ips/warmup` endpoint.
*
* As opposed to `get_ips_warmup`, this function returns all the pages of the request at once.
*
* **This endpoint allows you to retrieve all of your IP addresses that are currently warming up.**
*/
pub async fn get_all_ips_warmup(
&self,
) -> ClientResult<crate::Response<Vec<crate::types::IpWarmupResponse>>> {
let url = self.client.url("/ips/warmup", None);
self.client
.get_all_pages(
&url,
crate::Message {
body: None,
content_type: None,
},
)
.await
}
/**
* Start warming up an IP address.
*
* This function performs a `POST` to the `/ips/warmup` endpoint.
*
* **This endpoint allows you to put an IP address into warmup mode.**
*/
pub async fn post_ips_warmup(
&self,
body: &crate::types::PostIpsWarmupRequest,
) -> ClientResult<crate::Response<Vec<crate::types::IpWarmupResponse>>> {
let url = self.client.url("/ips/warmup", None);
self.client
.post(
&url,
crate::Message {
body: Some(reqwest::Body::from(serde_json::to_vec(body)?)),
content_type: Some("application/json".to_string()),
},
)
.await
}
/**
* Retrieve the warmup status for a specific IP address.
*
* This function performs a `GET` to the `/ips/warmup/{ip_address}` endpoint.
*
* **This endpoint allows you to retrieve the warmup status for a specific IP address.**
*
* You can retrieve all of your warming IPs using the "Retrieve all IPs currently in warmup" endpoint.
*/
pub async fn get_ips_warmup_ip_address(
&self,
ip_address: &str,
) -> ClientResult<crate::Response<Vec<crate::types::IpWarmupResponse>>> {
let url = self.client.url(
&format!(
"/ips/warmup/{}",
crate::progenitor_support::encode_path(ip_address),
),
None,
);
self.client
.get(
&url,
crate::Message {
body: None,
content_type: None,
},
)
.await
}
/**
* Retrieve the warmup status for a specific IP address.
*
* This function performs a `GET` to the `/ips/warmup/{ip_address}` endpoint.
*
* As opposed to `get_ips_warmup_ip_address`, this function returns all the pages of the request at once.
*
* **This endpoint allows you to retrieve the warmup status for a specific IP address.**
*
* You can retrieve all of your warming IPs using the "Retrieve all IPs currently in warmup" endpoint.
*/
pub async fn get_all_ips_warmup_ip_address(
&self,
ip_address: &str,
) -> ClientResult<crate::Response<Vec<crate::types::IpWarmupResponse>>> {
let url = self.client.url(
&format!(
"/ips/warmup/{}",
crate::progenitor_support::encode_path(ip_address),
),
None,
);
self.client
.get_all_pages(
&url,
crate::Message {
body: None,
content_type: None,
},
)
.await
}
/**
* Stop warming up an IP address.
*
* This function performs a `DELETE` to the `/ips/warmup/{ip_address}` endpoint.
*
* **This endpoint allows you to remove an IP address from warmup mode.**
*
* Your request will return a 204 status code if the specified IP was successfully removed from warmup mode. To retrieve details of the IP’s warmup status *before* removing it from warmup mode, call the "Retrieve the warmpup status for a specific IP address" endpoint.
*/
pub async fn delete_ips_warmup_ip_address(
&self,
ip_address: &str,
) -> ClientResult<crate::Response<crate::types::Help>> {
let url = self.client.url(
&format!(
"/ips/warmup/{}",
crate::progenitor_support::encode_path(ip_address),
),
None,
);
self.client
.delete(
&url,
crate::Message {
body: None,
content_type: None,
},
)
.await
}
}