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
173
174
175
176
177
178
179
180
181
182
183
184
185
use anyhow::Result;
use crate::Client;
pub struct ReverseDns {
pub client: Client,
}
impl ReverseDns {
#[doc(hidden)]
pub fn new(client: Client) -> Self {
ReverseDns { client }
}
/**
* Retrieve all reverse DNS records.
*
* This function performs a `GET` to the `/whitelabel/ips` endpoint.
*
* **This endpoint allows you to retrieve all of the Reverse DNS records created by this account.**
*
* You may include a search key by using the `ip` query string parameter. This enables you to perform a prefix search for a given IP segment (e.g., `?ip="192."`).
*
* Use the `limit` query string parameter to reduce the number of records returned. All records will be returned if you have fewer records than the specified limit.
*
* The `offset` query string parameter allows you to specify a non-zero index from which records will be returned. For example, if you have ten records, `?offset=5` will return the last five records (at indexes 5 through 9). The list starts at index zero.
*
* **Parameters:**
*
* * `limit: i64` -- The maximum number of results to retrieve.
* * `offset: i64` -- The point in the list of results to begin retrieving IP addresses from.
* * `ip: &str` -- The IP address segment that you'd like to use in a prefix search.
* * `on_behalf_of: &str` -- The license key provided with your New Relic account.
*/
pub async fn get_whitelabel_ips(
&self,
limit: i64,
offset: i64,
ip: &str,
) -> Result<Vec<crate::types::ReverseDns>> {
let mut query_args: Vec<(String, String)> = Default::default();
if !ip.is_empty() {
query_args.push(("ip".to_string(), ip.to_string()));
}
if limit > 0 {
query_args.push(("limit".to_string(), limit.to_string()));
}
if offset > 0 {
query_args.push(("offset".to_string(), offset.to_string()));
}
let query_ = serde_urlencoded::to_string(&query_args).unwrap();
let url = format!("/whitelabel/ips?{}", query_);
self.client.get(&url, None).await
}
/**
* Retrieve all reverse DNS records.
*
* This function performs a `GET` to the `/whitelabel/ips` endpoint.
*
* As opposed to `get_whitelabel_ips`, this function returns all the pages of the request at once.
*
* **This endpoint allows you to retrieve all of the Reverse DNS records created by this account.**
*
* You may include a search key by using the `ip` query string parameter. This enables you to perform a prefix search for a given IP segment (e.g., `?ip="192."`).
*
* Use the `limit` query string parameter to reduce the number of records returned. All records will be returned if you have fewer records than the specified limit.
*
* The `offset` query string parameter allows you to specify a non-zero index from which records will be returned. For example, if you have ten records, `?offset=5` will return the last five records (at indexes 5 through 9). The list starts at index zero.
*/
pub async fn get_all_whitelabel_ips(
&self,
offset: i64,
ip: &str,
) -> Result<Vec<crate::types::ReverseDns>> {
let mut query_args: Vec<(String, String)> = Default::default();
if !ip.is_empty() {
query_args.push(("ip".to_string(), ip.to_string()));
}
if offset > 0 {
query_args.push(("offset".to_string(), offset.to_string()));
}
let query_ = serde_urlencoded::to_string(&query_args).unwrap();
let url = format!("/whitelabel/ips?{}", query_);
self.client.get_all_pages(&url, None).await
}
/**
* Set up reverse DNS.
*
* This function performs a `POST` to the `/whitelabel/ips` endpoint.
*
* **This endpoint allows you to set up reverse DNS.**
*
* **Parameters:**
*
* * `on_behalf_of: &str` -- The license key provided with your New Relic account.
*/
pub async fn post_whitelabel_ip(
&self,
body: &crate::types::PostWhitelabelIpsRequest,
) -> Result<crate::types::ReverseDns> {
let url = "/whitelabel/ips".to_string();
self.client
.post(&url, Some(reqwest::Body::from(serde_json::to_vec(body)?)))
.await
}
/**
* Validate a reverse DNS record.
*
* This function performs a `POST` to the `/whitelabel/ips/{id}/validate` endpoint.
*
* **This endpoint allows you to validate a reverse DNS record.**
*
* Always check the `valid` property of the response’s `validation_results.a_record` object. This field will indicate whether it was possible to validate the reverse DNS record. If the `validation_results.a_record.valid` is `false`, this indicates only that Twilio SendGrid could not determine the validity your reverse DNS record — it may still be valid.
*
* If validity couldn’t be determined, you can check the value of `validation_results.a_record.reason` to find out why.
*
* You can retrieve the IDs associated with all your reverse DNS records using the "Retrieve all reverse DNS records" endpoint.
*
* **Parameters:**
*
* * `on_behalf_of: &str` -- The license key provided with your New Relic account.
*/
pub async fn post_whitelabel_ips_validate(
&self,
id: &str,
) -> Result<crate::types::PostWhitelabelIpsValidateResponse> {
let url = format!(
"/whitelabel/ips/{}/validate",
crate::progenitor_support::encode_path(id),
);
self.client.post(&url, None).await
}
/**
* Retrieve a reverse DNS record.
*
* This function performs a `GET` to the `/whitelabel/ips/{id}` endpoint.
*
* **This endpoint allows you to retrieve a reverse DNS record.**
*
* You can retrieve the IDs associated with all your reverse DNS records using the "Retrieve all reverse DNS records" endpoint.
*
* **Parameters:**
*
* * `on_behalf_of: &str` -- The license key provided with your New Relic account.
*/
pub async fn get_whitelabel_ip(&self, id: &str) -> Result<crate::types::ReverseDns> {
let url = format!(
"/whitelabel/ips/{}",
crate::progenitor_support::encode_path(id),
);
self.client.get(&url, None).await
}
/**
* Delete a reverse DNS record.
*
* This function performs a `DELETE` to the `/whitelabel/ips/{id}` endpoint.
*
* **This endpoint allows you to delete a reverse DNS record.**
*
* A call to this endpoint will respond with a 204 status code if the deletion was successful.
*
* You can retrieve the IDs associated with all your reverse DNS records using the "Retrieve all reverse DNS records" endpoint.
*
* **Parameters:**
*
* * `on_behalf_of: &str` -- The license key provided with your New Relic account.
*/
pub async fn delete_whitelabel_ips(&self, id: &str) -> Result<crate::types::Help> {
let url = format!(
"/whitelabel/ips/{}",
crate::progenitor_support::encode_path(id),
);
self.client.delete(&url, None).await
}
}