SyntheticsParsingOptions

Struct SyntheticsParsingOptions 

Source
#[non_exhaustive]
pub struct SyntheticsParsingOptions { pub field: Option<String>, pub name: Option<String>, pub parser: Option<SyntheticsVariableParser>, pub secure: Option<bool>, pub type_: Option<SyntheticsLocalVariableParsingOptionsType>, pub additional_properties: BTreeMap<String, Value>, /* private fields */ }
Expand description

Parsing options for variables to extract.

Fields (Non-exhaustive)§

This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.
§field: Option<String>

When type is http_header or grpc_metadata, name of the header or metadatum to extract.

§name: Option<String>

Name of the variable to extract.

§parser: Option<SyntheticsVariableParser>

Details of the parser to use for the global variable.

§secure: Option<bool>

Determines whether or not the extracted value will be obfuscated.

§type_: Option<SyntheticsLocalVariableParsingOptionsType>

Property of the Synthetic Test Response to extract into a local variable.

§additional_properties: BTreeMap<String, Value>

Implementations§

Source§

impl SyntheticsParsingOptions

Source

pub fn new() -> SyntheticsParsingOptions

Examples found in repository?
examples/v1_synthetics_CreateSyntheticsAPITest_1279271422.rs (line 80)
38async fn main() {
39    let body =
40        SyntheticsAPITest::new(
41            SyntheticsAPITestConfig::new()
42                .config_variables(
43                    vec![
44                        SyntheticsConfigVariable::new("PROPERTY".to_string(), SyntheticsConfigVariableType::TEXT)
45                            .example("content-type".to_string())
46                            .pattern("content-type".to_string())
47                    ],
48                )
49                .steps(
50                    vec![
51                        SyntheticsAPIStep::SyntheticsAPITestStep(
52                            Box::new(
53                                SyntheticsAPITestStep::new(
54                                    vec![
55                                        SyntheticsAssertion::SyntheticsAssertionTarget(
56                                            Box::new(
57                                                SyntheticsAssertionTarget::new(
58                                                    SyntheticsAssertionOperator::IS,
59                                                    SyntheticsAssertionTargetValue
60                                                    ::SyntheticsAssertionTargetValueNumber(
61                                                        200.0 as f64,
62                                                    ),
63                                                    SyntheticsAssertionType::STATUS_CODE,
64                                                ),
65                                            ),
66                                        )
67                                    ],
68                                    "request is sent".to_string(),
69                                    SyntheticsTestRequest::new()
70                                        .http_version(SyntheticsTestOptionsHTTPVersion::HTTP2)
71                                        .method("GET".to_string())
72                                        .timeout(10.0 as f64)
73                                        .url("https://datadoghq.com".to_string()),
74                                    SyntheticsAPITestStepSubtype::HTTP,
75                                )
76                                    .allow_failure(true)
77                                    .exit_if_succeed(true)
78                                    .extracted_values(
79                                        vec![
80                                            SyntheticsParsingOptions::new()
81                                                .field("server".to_string())
82                                                .name("EXTRACTED_VALUE".to_string())
83                                                .parser(
84                                                    SyntheticsVariableParser::new(
85                                                        SyntheticsGlobalVariableParserType::RAW,
86                                                    ),
87                                                )
88                                                .secure(true)
89                                                .type_(SyntheticsLocalVariableParsingOptionsType::HTTP_HEADER)
90                                        ],
91                                    )
92                                    .extracted_values_from_script(
93                                        "dd.variable.set('STATUS_CODE', dd.response.statusCode);".to_string(),
94                                    )
95                                    .is_critical(true)
96                                    .retry(SyntheticsTestOptionsRetry::new().count(5).interval(1000.0 as f64)),
97                            ),
98                        ),
99                        SyntheticsAPIStep::SyntheticsAPIWaitStep(
100                            Box::new(
101                                SyntheticsAPIWaitStep::new("Wait".to_string(), SyntheticsAPIWaitStepSubtype::WAIT, 1),
102                            ),
103                        ),
104                        SyntheticsAPIStep::SyntheticsAPITestStep(
105                            Box::new(
106                                SyntheticsAPITestStep::new(
107                                    vec![
108                                        SyntheticsAssertion::SyntheticsAssertionTarget(
109                                            Box::new(
110                                                SyntheticsAssertionTarget::new(
111                                                    SyntheticsAssertionOperator::LESS_THAN,
112                                                    SyntheticsAssertionTargetValue
113                                                    ::SyntheticsAssertionTargetValueNumber(
114                                                        1000.0 as f64,
115                                                    ),
116                                                    SyntheticsAssertionType::RESPONSE_TIME,
117                                                ),
118                                            ),
119                                        )
120                                    ],
121                                    "GRPC CALL".to_string(),
122                                    SyntheticsTestRequest::new()
123                                        .call_type(SyntheticsTestCallType::UNARY)
124                                        .compressed_json_descriptor(
125                                            "eJy1lU1z2yAQhv+Lzj74I3ETH506bQ7OZOSm1w4Wa4epBARQppqM/3v5koCJJdvtxCdW77vPssCO3zMKUgHOFu/ZXvBiS6hZho/f8qe7pftYgXphWJrlA8XwxywEvNba+6PhkC2yVcVVswYp0R6ykRYlZ1SCV21SDrxsssPIeS9FJKqGfK2rqnmmSBwhWa2XlKgtaQPiDcRGCUDVfwGD2sKUqKEtc1cSoOrsMlaMOec1sySYCCgUYRSVLv2zSva2u+FQkB0pVkIw8bFuIudOOn3pOaKYVT3Iy97Pd0AYhOx5QcMsnxvRHlnuLf8ETDd3CNtrv2nejkDpRnANCmGkkFn/hsYzpBKE7jVbufgnKnV9HRM9zRPDDKPttYT61n0TdWkAAjggk9AhuxIeaXd69CYTcsGw7cBTakLVbNpRzGEgyWjkSOpMbZXkhGL6oX30R49qt3GoHrap7i0XdD41WQ+2icCNm5p1hmFqnHNlcla0riKmDZ183crDxChjbnurtxHPRE784sVhWvDfGP+SsTKibU3o5NtWHuZFGZOxP6P5VXqIOvaOSec4eYohyd7NslHuJbd1bewds85xYrNxkr2d+5IhFWF3NvaO684xjE2S5ulY+tu64Pna0fCPJgzw6vF5/WucLcYjt5xoq19O3UDptOg/OamJQRaCcPPnMTQ2QDFn+uhPvUfnCrMc99upyQY4Ui9Dlc/YoG3R/v4Cs9YE+g==".to_string(),
126                                        )
127                                        .host("grpcbin.test.k6.io".to_string())
128                                        .message("{}".to_string())
129                                        .metadata(BTreeMap::from([]))
130                                        .method("Index".to_string())
131                                        .port(SyntheticsTestRequestPort::SyntheticsTestRequestNumericalPort(9000))
132                                        .service("grpcbin.GRPCBin".to_string()),
133                                    SyntheticsAPITestStepSubtype::GRPC,
134                                )
135                                    .allow_failure(false)
136                                    .extracted_values(vec![])
137                                    .is_critical(true)
138                                    .retry(SyntheticsTestOptionsRetry::new().count(0).interval(300.0 as f64)),
139                            ),
140                        ),
141                        SyntheticsAPIStep::SyntheticsAPITestStep(
142                            Box::new(
143                                SyntheticsAPITestStep::new(
144                                    vec![
145                                        SyntheticsAssertion::SyntheticsAssertionTarget(
146                                            Box::new(
147                                                SyntheticsAssertionTarget::new(
148                                                    SyntheticsAssertionOperator::IS_IN_MORE_DAYS_THAN,
149                                                    SyntheticsAssertionTargetValue
150                                                    ::SyntheticsAssertionTargetValueNumber(
151                                                        10.0 as f64,
152                                                    ),
153                                                    SyntheticsAssertionType::CERTIFICATE,
154                                                ),
155                                            ),
156                                        )
157                                    ],
158                                    "SSL step".to_string(),
159                                    SyntheticsTestRequest::new()
160                                        .check_certificate_revocation(true)
161                                        .disable_aia_intermediate_fetching(true)
162                                        .host("example.org".to_string())
163                                        .port(SyntheticsTestRequestPort::SyntheticsTestRequestNumericalPort(443)),
164                                    SyntheticsAPITestStepSubtype::SSL,
165                                )
166                                    .allow_failure(false)
167                                    .is_critical(true)
168                                    .retry(SyntheticsTestOptionsRetry::new().count(0).interval(300.0 as f64)),
169                            ),
170                        ),
171                        SyntheticsAPIStep::SyntheticsAPITestStep(
172                            Box::new(
173                                SyntheticsAPITestStep::new(
174                                    vec![
175                                        SyntheticsAssertion::SyntheticsAssertionTarget(
176                                            Box::new(
177                                                SyntheticsAssertionTarget::new(
178                                                    SyntheticsAssertionOperator::LESS_THAN,
179                                                    SyntheticsAssertionTargetValue
180                                                    ::SyntheticsAssertionTargetValueNumber(
181                                                        1000.0 as f64,
182                                                    ),
183                                                    SyntheticsAssertionType::RESPONSE_TIME,
184                                                ),
185                                            ),
186                                        )
187                                    ],
188                                    "DNS step".to_string(),
189                                    SyntheticsTestRequest::new()
190                                        .dns_server("8.8.8.8".to_string())
191                                        .dns_server_port(
192                                            SyntheticsTestRequestDNSServerPort
193                                            ::SyntheticsTestRequestVariableDNSServerPort(
194                                                "53".to_string(),
195                                            ),
196                                        )
197                                        .host("troisdizaines.com".to_string()),
198                                    SyntheticsAPITestStepSubtype::DNS,
199                                )
200                                    .allow_failure(false)
201                                    .is_critical(true)
202                                    .retry(SyntheticsTestOptionsRetry::new().count(0).interval(300.0 as f64)),
203                            ),
204                        ),
205                        SyntheticsAPIStep::SyntheticsAPITestStep(
206                            Box::new(
207                                SyntheticsAPITestStep::new(
208                                    vec![
209                                        SyntheticsAssertion::SyntheticsAssertionTarget(
210                                            Box::new(
211                                                SyntheticsAssertionTarget::new(
212                                                    SyntheticsAssertionOperator::LESS_THAN,
213                                                    SyntheticsAssertionTargetValue
214                                                    ::SyntheticsAssertionTargetValueNumber(
215                                                        1000.0 as f64,
216                                                    ),
217                                                    SyntheticsAssertionType::RESPONSE_TIME,
218                                                ),
219                                            ),
220                                        )
221                                    ],
222                                    "TCP step".to_string(),
223                                    SyntheticsTestRequest::new()
224                                        .host("34.95.79.70".to_string())
225                                        .port(SyntheticsTestRequestPort::SyntheticsTestRequestNumericalPort(80))
226                                        .should_track_hops(true)
227                                        .timeout(32.0 as f64),
228                                    SyntheticsAPITestStepSubtype::TCP,
229                                )
230                                    .allow_failure(false)
231                                    .is_critical(true)
232                                    .retry(SyntheticsTestOptionsRetry::new().count(0).interval(300.0 as f64)),
233                            ),
234                        ),
235                        SyntheticsAPIStep::SyntheticsAPITestStep(
236                            Box::new(
237                                SyntheticsAPITestStep::new(
238                                    vec![
239                                        SyntheticsAssertion::SyntheticsAssertionTarget(
240                                            Box::new(
241                                                SyntheticsAssertionTarget::new(
242                                                    SyntheticsAssertionOperator::IS,
243                                                    SyntheticsAssertionTargetValue
244                                                    ::SyntheticsAssertionTargetValueNumber(
245                                                        0.0 as f64,
246                                                    ),
247                                                    SyntheticsAssertionType::PACKET_LOSS_PERCENTAGE,
248                                                ),
249                                            ),
250                                        )
251                                    ],
252                                    "ICMP step".to_string(),
253                                    SyntheticsTestRequest::new()
254                                        .host("34.95.79.70".to_string())
255                                        .number_of_packets(4)
256                                        .should_track_hops(true)
257                                        .timeout(38.0 as f64),
258                                    SyntheticsAPITestStepSubtype::ICMP,
259                                )
260                                    .allow_failure(false)
261                                    .is_critical(true)
262                                    .retry(SyntheticsTestOptionsRetry::new().count(0).interval(300.0 as f64)),
263                            ),
264                        ),
265                        SyntheticsAPIStep::SyntheticsAPITestStep(
266                            Box::new(
267                                SyntheticsAPITestStep::new(
268                                    vec![
269                                        SyntheticsAssertion::SyntheticsAssertionTarget(
270                                            Box::new(
271                                                SyntheticsAssertionTarget::new(
272                                                    SyntheticsAssertionOperator::LESS_THAN,
273                                                    SyntheticsAssertionTargetValue
274                                                    ::SyntheticsAssertionTargetValueNumber(
275                                                        1000.0 as f64,
276                                                    ),
277                                                    SyntheticsAssertionType::RESPONSE_TIME,
278                                                ),
279                                            ),
280                                        )
281                                    ],
282                                    "Websocket step".to_string(),
283                                    SyntheticsTestRequest::new()
284                                        .basic_auth(
285                                            SyntheticsBasicAuth::SyntheticsBasicAuthWeb(
286                                                Box::new(
287                                                    SyntheticsBasicAuthWeb::new()
288                                                        .password("password".to_string())
289                                                        .type_(SyntheticsBasicAuthWebType::WEB)
290                                                        .username("user".to_string()),
291                                                ),
292                                            ),
293                                        )
294                                        .headers(BTreeMap::from([("f".to_string(), "g".to_string())]))
295                                        .is_message_base64_encoded(true)
296                                        .message("My message".to_string())
297                                        .url("ws://34.95.79.70/web-socket".to_string()),
298                                    SyntheticsAPITestStepSubtype::WEBSOCKET,
299                                )
300                                    .allow_failure(false)
301                                    .is_critical(true)
302                                    .retry(SyntheticsTestOptionsRetry::new().count(0).interval(300.0 as f64)),
303                            ),
304                        ),
305                        SyntheticsAPIStep::SyntheticsAPITestStep(
306                            Box::new(
307                                SyntheticsAPITestStep::new(
308                                    vec![
309                                        SyntheticsAssertion::SyntheticsAssertionTarget(
310                                            Box::new(
311                                                SyntheticsAssertionTarget::new(
312                                                    SyntheticsAssertionOperator::LESS_THAN,
313                                                    SyntheticsAssertionTargetValue
314                                                    ::SyntheticsAssertionTargetValueNumber(
315                                                        1000.0 as f64,
316                                                    ),
317                                                    SyntheticsAssertionType::RESPONSE_TIME,
318                                                ),
319                                            ),
320                                        )
321                                    ],
322                                    "UDP step".to_string(),
323                                    SyntheticsTestRequest::new()
324                                        .host("8.8.8.8".to_string())
325                                        .message("A image.google.com".to_string())
326                                        .port(SyntheticsTestRequestPort::SyntheticsTestRequestNumericalPort(53)),
327                                    SyntheticsAPITestStepSubtype::UDP,
328                                )
329                                    .allow_failure(false)
330                                    .is_critical(true)
331                                    .retry(SyntheticsTestOptionsRetry::new().count(0).interval(300.0 as f64)),
332                            ),
333                        )
334                    ],
335                ),
336            vec!["aws:us-east-2".to_string()],
337            "BDD test payload: synthetics_api_test_multi_step_payload.json".to_string(),
338            "Example-Synthetic".to_string(),
339            SyntheticsTestOptions::new()
340                .accept_self_signed(false)
341                .allow_insecure(true)
342                .follow_redirects(true)
343                .min_failure_duration(10)
344                .min_location_failed(1)
345                .monitor_name("Example-Synthetic".to_string())
346                .monitor_priority(5)
347                .retry(SyntheticsTestOptionsRetry::new().count(3).interval(1000.0 as f64))
348                .tick_every(60),
349            SyntheticsAPITestType::API,
350        )
351            .subtype(SyntheticsTestDetailsSubType::MULTI)
352            .tags(vec!["testing:api".to_string()]);
353    let configuration = datadog::Configuration::new();
354    let api = SyntheticsAPI::with_config(configuration);
355    let resp = api.create_synthetics_api_test(body).await;
356    if let Ok(value) = resp {
357        println!("{:#?}", value);
358    } else {
359        println!("{:#?}", resp.unwrap_err());
360    }
361}
Source

pub fn field(self, value: String) -> Self

Examples found in repository?
examples/v1_synthetics_CreateSyntheticsAPITest_1279271422.rs (line 81)
38async fn main() {
39    let body =
40        SyntheticsAPITest::new(
41            SyntheticsAPITestConfig::new()
42                .config_variables(
43                    vec![
44                        SyntheticsConfigVariable::new("PROPERTY".to_string(), SyntheticsConfigVariableType::TEXT)
45                            .example("content-type".to_string())
46                            .pattern("content-type".to_string())
47                    ],
48                )
49                .steps(
50                    vec![
51                        SyntheticsAPIStep::SyntheticsAPITestStep(
52                            Box::new(
53                                SyntheticsAPITestStep::new(
54                                    vec![
55                                        SyntheticsAssertion::SyntheticsAssertionTarget(
56                                            Box::new(
57                                                SyntheticsAssertionTarget::new(
58                                                    SyntheticsAssertionOperator::IS,
59                                                    SyntheticsAssertionTargetValue
60                                                    ::SyntheticsAssertionTargetValueNumber(
61                                                        200.0 as f64,
62                                                    ),
63                                                    SyntheticsAssertionType::STATUS_CODE,
64                                                ),
65                                            ),
66                                        )
67                                    ],
68                                    "request is sent".to_string(),
69                                    SyntheticsTestRequest::new()
70                                        .http_version(SyntheticsTestOptionsHTTPVersion::HTTP2)
71                                        .method("GET".to_string())
72                                        .timeout(10.0 as f64)
73                                        .url("https://datadoghq.com".to_string()),
74                                    SyntheticsAPITestStepSubtype::HTTP,
75                                )
76                                    .allow_failure(true)
77                                    .exit_if_succeed(true)
78                                    .extracted_values(
79                                        vec![
80                                            SyntheticsParsingOptions::new()
81                                                .field("server".to_string())
82                                                .name("EXTRACTED_VALUE".to_string())
83                                                .parser(
84                                                    SyntheticsVariableParser::new(
85                                                        SyntheticsGlobalVariableParserType::RAW,
86                                                    ),
87                                                )
88                                                .secure(true)
89                                                .type_(SyntheticsLocalVariableParsingOptionsType::HTTP_HEADER)
90                                        ],
91                                    )
92                                    .extracted_values_from_script(
93                                        "dd.variable.set('STATUS_CODE', dd.response.statusCode);".to_string(),
94                                    )
95                                    .is_critical(true)
96                                    .retry(SyntheticsTestOptionsRetry::new().count(5).interval(1000.0 as f64)),
97                            ),
98                        ),
99                        SyntheticsAPIStep::SyntheticsAPIWaitStep(
100                            Box::new(
101                                SyntheticsAPIWaitStep::new("Wait".to_string(), SyntheticsAPIWaitStepSubtype::WAIT, 1),
102                            ),
103                        ),
104                        SyntheticsAPIStep::SyntheticsAPITestStep(
105                            Box::new(
106                                SyntheticsAPITestStep::new(
107                                    vec![
108                                        SyntheticsAssertion::SyntheticsAssertionTarget(
109                                            Box::new(
110                                                SyntheticsAssertionTarget::new(
111                                                    SyntheticsAssertionOperator::LESS_THAN,
112                                                    SyntheticsAssertionTargetValue
113                                                    ::SyntheticsAssertionTargetValueNumber(
114                                                        1000.0 as f64,
115                                                    ),
116                                                    SyntheticsAssertionType::RESPONSE_TIME,
117                                                ),
118                                            ),
119                                        )
120                                    ],
121                                    "GRPC CALL".to_string(),
122                                    SyntheticsTestRequest::new()
123                                        .call_type(SyntheticsTestCallType::UNARY)
124                                        .compressed_json_descriptor(
125                                            "eJy1lU1z2yAQhv+Lzj74I3ETH506bQ7OZOSm1w4Wa4epBARQppqM/3v5koCJJdvtxCdW77vPssCO3zMKUgHOFu/ZXvBiS6hZho/f8qe7pftYgXphWJrlA8XwxywEvNba+6PhkC2yVcVVswYp0R6ykRYlZ1SCV21SDrxsssPIeS9FJKqGfK2rqnmmSBwhWa2XlKgtaQPiDcRGCUDVfwGD2sKUqKEtc1cSoOrsMlaMOec1sySYCCgUYRSVLv2zSva2u+FQkB0pVkIw8bFuIudOOn3pOaKYVT3Iy97Pd0AYhOx5QcMsnxvRHlnuLf8ETDd3CNtrv2nejkDpRnANCmGkkFn/hsYzpBKE7jVbufgnKnV9HRM9zRPDDKPttYT61n0TdWkAAjggk9AhuxIeaXd69CYTcsGw7cBTakLVbNpRzGEgyWjkSOpMbZXkhGL6oX30R49qt3GoHrap7i0XdD41WQ+2icCNm5p1hmFqnHNlcla0riKmDZ183crDxChjbnurtxHPRE784sVhWvDfGP+SsTKibU3o5NtWHuZFGZOxP6P5VXqIOvaOSec4eYohyd7NslHuJbd1bewds85xYrNxkr2d+5IhFWF3NvaO684xjE2S5ulY+tu64Pna0fCPJgzw6vF5/WucLcYjt5xoq19O3UDptOg/OamJQRaCcPPnMTQ2QDFn+uhPvUfnCrMc99upyQY4Ui9Dlc/YoG3R/v4Cs9YE+g==".to_string(),
126                                        )
127                                        .host("grpcbin.test.k6.io".to_string())
128                                        .message("{}".to_string())
129                                        .metadata(BTreeMap::from([]))
130                                        .method("Index".to_string())
131                                        .port(SyntheticsTestRequestPort::SyntheticsTestRequestNumericalPort(9000))
132                                        .service("grpcbin.GRPCBin".to_string()),
133                                    SyntheticsAPITestStepSubtype::GRPC,
134                                )
135                                    .allow_failure(false)
136                                    .extracted_values(vec![])
137                                    .is_critical(true)
138                                    .retry(SyntheticsTestOptionsRetry::new().count(0).interval(300.0 as f64)),
139                            ),
140                        ),
141                        SyntheticsAPIStep::SyntheticsAPITestStep(
142                            Box::new(
143                                SyntheticsAPITestStep::new(
144                                    vec![
145                                        SyntheticsAssertion::SyntheticsAssertionTarget(
146                                            Box::new(
147                                                SyntheticsAssertionTarget::new(
148                                                    SyntheticsAssertionOperator::IS_IN_MORE_DAYS_THAN,
149                                                    SyntheticsAssertionTargetValue
150                                                    ::SyntheticsAssertionTargetValueNumber(
151                                                        10.0 as f64,
152                                                    ),
153                                                    SyntheticsAssertionType::CERTIFICATE,
154                                                ),
155                                            ),
156                                        )
157                                    ],
158                                    "SSL step".to_string(),
159                                    SyntheticsTestRequest::new()
160                                        .check_certificate_revocation(true)
161                                        .disable_aia_intermediate_fetching(true)
162                                        .host("example.org".to_string())
163                                        .port(SyntheticsTestRequestPort::SyntheticsTestRequestNumericalPort(443)),
164                                    SyntheticsAPITestStepSubtype::SSL,
165                                )
166                                    .allow_failure(false)
167                                    .is_critical(true)
168                                    .retry(SyntheticsTestOptionsRetry::new().count(0).interval(300.0 as f64)),
169                            ),
170                        ),
171                        SyntheticsAPIStep::SyntheticsAPITestStep(
172                            Box::new(
173                                SyntheticsAPITestStep::new(
174                                    vec![
175                                        SyntheticsAssertion::SyntheticsAssertionTarget(
176                                            Box::new(
177                                                SyntheticsAssertionTarget::new(
178                                                    SyntheticsAssertionOperator::LESS_THAN,
179                                                    SyntheticsAssertionTargetValue
180                                                    ::SyntheticsAssertionTargetValueNumber(
181                                                        1000.0 as f64,
182                                                    ),
183                                                    SyntheticsAssertionType::RESPONSE_TIME,
184                                                ),
185                                            ),
186                                        )
187                                    ],
188                                    "DNS step".to_string(),
189                                    SyntheticsTestRequest::new()
190                                        .dns_server("8.8.8.8".to_string())
191                                        .dns_server_port(
192                                            SyntheticsTestRequestDNSServerPort
193                                            ::SyntheticsTestRequestVariableDNSServerPort(
194                                                "53".to_string(),
195                                            ),
196                                        )
197                                        .host("troisdizaines.com".to_string()),
198                                    SyntheticsAPITestStepSubtype::DNS,
199                                )
200                                    .allow_failure(false)
201                                    .is_critical(true)
202                                    .retry(SyntheticsTestOptionsRetry::new().count(0).interval(300.0 as f64)),
203                            ),
204                        ),
205                        SyntheticsAPIStep::SyntheticsAPITestStep(
206                            Box::new(
207                                SyntheticsAPITestStep::new(
208                                    vec![
209                                        SyntheticsAssertion::SyntheticsAssertionTarget(
210                                            Box::new(
211                                                SyntheticsAssertionTarget::new(
212                                                    SyntheticsAssertionOperator::LESS_THAN,
213                                                    SyntheticsAssertionTargetValue
214                                                    ::SyntheticsAssertionTargetValueNumber(
215                                                        1000.0 as f64,
216                                                    ),
217                                                    SyntheticsAssertionType::RESPONSE_TIME,
218                                                ),
219                                            ),
220                                        )
221                                    ],
222                                    "TCP step".to_string(),
223                                    SyntheticsTestRequest::new()
224                                        .host("34.95.79.70".to_string())
225                                        .port(SyntheticsTestRequestPort::SyntheticsTestRequestNumericalPort(80))
226                                        .should_track_hops(true)
227                                        .timeout(32.0 as f64),
228                                    SyntheticsAPITestStepSubtype::TCP,
229                                )
230                                    .allow_failure(false)
231                                    .is_critical(true)
232                                    .retry(SyntheticsTestOptionsRetry::new().count(0).interval(300.0 as f64)),
233                            ),
234                        ),
235                        SyntheticsAPIStep::SyntheticsAPITestStep(
236                            Box::new(
237                                SyntheticsAPITestStep::new(
238                                    vec![
239                                        SyntheticsAssertion::SyntheticsAssertionTarget(
240                                            Box::new(
241                                                SyntheticsAssertionTarget::new(
242                                                    SyntheticsAssertionOperator::IS,
243                                                    SyntheticsAssertionTargetValue
244                                                    ::SyntheticsAssertionTargetValueNumber(
245                                                        0.0 as f64,
246                                                    ),
247                                                    SyntheticsAssertionType::PACKET_LOSS_PERCENTAGE,
248                                                ),
249                                            ),
250                                        )
251                                    ],
252                                    "ICMP step".to_string(),
253                                    SyntheticsTestRequest::new()
254                                        .host("34.95.79.70".to_string())
255                                        .number_of_packets(4)
256                                        .should_track_hops(true)
257                                        .timeout(38.0 as f64),
258                                    SyntheticsAPITestStepSubtype::ICMP,
259                                )
260                                    .allow_failure(false)
261                                    .is_critical(true)
262                                    .retry(SyntheticsTestOptionsRetry::new().count(0).interval(300.0 as f64)),
263                            ),
264                        ),
265                        SyntheticsAPIStep::SyntheticsAPITestStep(
266                            Box::new(
267                                SyntheticsAPITestStep::new(
268                                    vec![
269                                        SyntheticsAssertion::SyntheticsAssertionTarget(
270                                            Box::new(
271                                                SyntheticsAssertionTarget::new(
272                                                    SyntheticsAssertionOperator::LESS_THAN,
273                                                    SyntheticsAssertionTargetValue
274                                                    ::SyntheticsAssertionTargetValueNumber(
275                                                        1000.0 as f64,
276                                                    ),
277                                                    SyntheticsAssertionType::RESPONSE_TIME,
278                                                ),
279                                            ),
280                                        )
281                                    ],
282                                    "Websocket step".to_string(),
283                                    SyntheticsTestRequest::new()
284                                        .basic_auth(
285                                            SyntheticsBasicAuth::SyntheticsBasicAuthWeb(
286                                                Box::new(
287                                                    SyntheticsBasicAuthWeb::new()
288                                                        .password("password".to_string())
289                                                        .type_(SyntheticsBasicAuthWebType::WEB)
290                                                        .username("user".to_string()),
291                                                ),
292                                            ),
293                                        )
294                                        .headers(BTreeMap::from([("f".to_string(), "g".to_string())]))
295                                        .is_message_base64_encoded(true)
296                                        .message("My message".to_string())
297                                        .url("ws://34.95.79.70/web-socket".to_string()),
298                                    SyntheticsAPITestStepSubtype::WEBSOCKET,
299                                )
300                                    .allow_failure(false)
301                                    .is_critical(true)
302                                    .retry(SyntheticsTestOptionsRetry::new().count(0).interval(300.0 as f64)),
303                            ),
304                        ),
305                        SyntheticsAPIStep::SyntheticsAPITestStep(
306                            Box::new(
307                                SyntheticsAPITestStep::new(
308                                    vec![
309                                        SyntheticsAssertion::SyntheticsAssertionTarget(
310                                            Box::new(
311                                                SyntheticsAssertionTarget::new(
312                                                    SyntheticsAssertionOperator::LESS_THAN,
313                                                    SyntheticsAssertionTargetValue
314                                                    ::SyntheticsAssertionTargetValueNumber(
315                                                        1000.0 as f64,
316                                                    ),
317                                                    SyntheticsAssertionType::RESPONSE_TIME,
318                                                ),
319                                            ),
320                                        )
321                                    ],
322                                    "UDP step".to_string(),
323                                    SyntheticsTestRequest::new()
324                                        .host("8.8.8.8".to_string())
325                                        .message("A image.google.com".to_string())
326                                        .port(SyntheticsTestRequestPort::SyntheticsTestRequestNumericalPort(53)),
327                                    SyntheticsAPITestStepSubtype::UDP,
328                                )
329                                    .allow_failure(false)
330                                    .is_critical(true)
331                                    .retry(SyntheticsTestOptionsRetry::new().count(0).interval(300.0 as f64)),
332                            ),
333                        )
334                    ],
335                ),
336            vec!["aws:us-east-2".to_string()],
337            "BDD test payload: synthetics_api_test_multi_step_payload.json".to_string(),
338            "Example-Synthetic".to_string(),
339            SyntheticsTestOptions::new()
340                .accept_self_signed(false)
341                .allow_insecure(true)
342                .follow_redirects(true)
343                .min_failure_duration(10)
344                .min_location_failed(1)
345                .monitor_name("Example-Synthetic".to_string())
346                .monitor_priority(5)
347                .retry(SyntheticsTestOptionsRetry::new().count(3).interval(1000.0 as f64))
348                .tick_every(60),
349            SyntheticsAPITestType::API,
350        )
351            .subtype(SyntheticsTestDetailsSubType::MULTI)
352            .tags(vec!["testing:api".to_string()]);
353    let configuration = datadog::Configuration::new();
354    let api = SyntheticsAPI::with_config(configuration);
355    let resp = api.create_synthetics_api_test(body).await;
356    if let Ok(value) = resp {
357        println!("{:#?}", value);
358    } else {
359        println!("{:#?}", resp.unwrap_err());
360    }
361}
Source

pub fn name(self, value: String) -> Self

Examples found in repository?
examples/v1_synthetics_CreateSyntheticsAPITest_1279271422.rs (line 82)
38async fn main() {
39    let body =
40        SyntheticsAPITest::new(
41            SyntheticsAPITestConfig::new()
42                .config_variables(
43                    vec![
44                        SyntheticsConfigVariable::new("PROPERTY".to_string(), SyntheticsConfigVariableType::TEXT)
45                            .example("content-type".to_string())
46                            .pattern("content-type".to_string())
47                    ],
48                )
49                .steps(
50                    vec![
51                        SyntheticsAPIStep::SyntheticsAPITestStep(
52                            Box::new(
53                                SyntheticsAPITestStep::new(
54                                    vec![
55                                        SyntheticsAssertion::SyntheticsAssertionTarget(
56                                            Box::new(
57                                                SyntheticsAssertionTarget::new(
58                                                    SyntheticsAssertionOperator::IS,
59                                                    SyntheticsAssertionTargetValue
60                                                    ::SyntheticsAssertionTargetValueNumber(
61                                                        200.0 as f64,
62                                                    ),
63                                                    SyntheticsAssertionType::STATUS_CODE,
64                                                ),
65                                            ),
66                                        )
67                                    ],
68                                    "request is sent".to_string(),
69                                    SyntheticsTestRequest::new()
70                                        .http_version(SyntheticsTestOptionsHTTPVersion::HTTP2)
71                                        .method("GET".to_string())
72                                        .timeout(10.0 as f64)
73                                        .url("https://datadoghq.com".to_string()),
74                                    SyntheticsAPITestStepSubtype::HTTP,
75                                )
76                                    .allow_failure(true)
77                                    .exit_if_succeed(true)
78                                    .extracted_values(
79                                        vec![
80                                            SyntheticsParsingOptions::new()
81                                                .field("server".to_string())
82                                                .name("EXTRACTED_VALUE".to_string())
83                                                .parser(
84                                                    SyntheticsVariableParser::new(
85                                                        SyntheticsGlobalVariableParserType::RAW,
86                                                    ),
87                                                )
88                                                .secure(true)
89                                                .type_(SyntheticsLocalVariableParsingOptionsType::HTTP_HEADER)
90                                        ],
91                                    )
92                                    .extracted_values_from_script(
93                                        "dd.variable.set('STATUS_CODE', dd.response.statusCode);".to_string(),
94                                    )
95                                    .is_critical(true)
96                                    .retry(SyntheticsTestOptionsRetry::new().count(5).interval(1000.0 as f64)),
97                            ),
98                        ),
99                        SyntheticsAPIStep::SyntheticsAPIWaitStep(
100                            Box::new(
101                                SyntheticsAPIWaitStep::new("Wait".to_string(), SyntheticsAPIWaitStepSubtype::WAIT, 1),
102                            ),
103                        ),
104                        SyntheticsAPIStep::SyntheticsAPITestStep(
105                            Box::new(
106                                SyntheticsAPITestStep::new(
107                                    vec![
108                                        SyntheticsAssertion::SyntheticsAssertionTarget(
109                                            Box::new(
110                                                SyntheticsAssertionTarget::new(
111                                                    SyntheticsAssertionOperator::LESS_THAN,
112                                                    SyntheticsAssertionTargetValue
113                                                    ::SyntheticsAssertionTargetValueNumber(
114                                                        1000.0 as f64,
115                                                    ),
116                                                    SyntheticsAssertionType::RESPONSE_TIME,
117                                                ),
118                                            ),
119                                        )
120                                    ],
121                                    "GRPC CALL".to_string(),
122                                    SyntheticsTestRequest::new()
123                                        .call_type(SyntheticsTestCallType::UNARY)
124                                        .compressed_json_descriptor(
125                                            "eJy1lU1z2yAQhv+Lzj74I3ETH506bQ7OZOSm1w4Wa4epBARQppqM/3v5koCJJdvtxCdW77vPssCO3zMKUgHOFu/ZXvBiS6hZho/f8qe7pftYgXphWJrlA8XwxywEvNba+6PhkC2yVcVVswYp0R6ykRYlZ1SCV21SDrxsssPIeS9FJKqGfK2rqnmmSBwhWa2XlKgtaQPiDcRGCUDVfwGD2sKUqKEtc1cSoOrsMlaMOec1sySYCCgUYRSVLv2zSva2u+FQkB0pVkIw8bFuIudOOn3pOaKYVT3Iy97Pd0AYhOx5QcMsnxvRHlnuLf8ETDd3CNtrv2nejkDpRnANCmGkkFn/hsYzpBKE7jVbufgnKnV9HRM9zRPDDKPttYT61n0TdWkAAjggk9AhuxIeaXd69CYTcsGw7cBTakLVbNpRzGEgyWjkSOpMbZXkhGL6oX30R49qt3GoHrap7i0XdD41WQ+2icCNm5p1hmFqnHNlcla0riKmDZ183crDxChjbnurtxHPRE784sVhWvDfGP+SsTKibU3o5NtWHuZFGZOxP6P5VXqIOvaOSec4eYohyd7NslHuJbd1bewds85xYrNxkr2d+5IhFWF3NvaO684xjE2S5ulY+tu64Pna0fCPJgzw6vF5/WucLcYjt5xoq19O3UDptOg/OamJQRaCcPPnMTQ2QDFn+uhPvUfnCrMc99upyQY4Ui9Dlc/YoG3R/v4Cs9YE+g==".to_string(),
126                                        )
127                                        .host("grpcbin.test.k6.io".to_string())
128                                        .message("{}".to_string())
129                                        .metadata(BTreeMap::from([]))
130                                        .method("Index".to_string())
131                                        .port(SyntheticsTestRequestPort::SyntheticsTestRequestNumericalPort(9000))
132                                        .service("grpcbin.GRPCBin".to_string()),
133                                    SyntheticsAPITestStepSubtype::GRPC,
134                                )
135                                    .allow_failure(false)
136                                    .extracted_values(vec![])
137                                    .is_critical(true)
138                                    .retry(SyntheticsTestOptionsRetry::new().count(0).interval(300.0 as f64)),
139                            ),
140                        ),
141                        SyntheticsAPIStep::SyntheticsAPITestStep(
142                            Box::new(
143                                SyntheticsAPITestStep::new(
144                                    vec![
145                                        SyntheticsAssertion::SyntheticsAssertionTarget(
146                                            Box::new(
147                                                SyntheticsAssertionTarget::new(
148                                                    SyntheticsAssertionOperator::IS_IN_MORE_DAYS_THAN,
149                                                    SyntheticsAssertionTargetValue
150                                                    ::SyntheticsAssertionTargetValueNumber(
151                                                        10.0 as f64,
152                                                    ),
153                                                    SyntheticsAssertionType::CERTIFICATE,
154                                                ),
155                                            ),
156                                        )
157                                    ],
158                                    "SSL step".to_string(),
159                                    SyntheticsTestRequest::new()
160                                        .check_certificate_revocation(true)
161                                        .disable_aia_intermediate_fetching(true)
162                                        .host("example.org".to_string())
163                                        .port(SyntheticsTestRequestPort::SyntheticsTestRequestNumericalPort(443)),
164                                    SyntheticsAPITestStepSubtype::SSL,
165                                )
166                                    .allow_failure(false)
167                                    .is_critical(true)
168                                    .retry(SyntheticsTestOptionsRetry::new().count(0).interval(300.0 as f64)),
169                            ),
170                        ),
171                        SyntheticsAPIStep::SyntheticsAPITestStep(
172                            Box::new(
173                                SyntheticsAPITestStep::new(
174                                    vec![
175                                        SyntheticsAssertion::SyntheticsAssertionTarget(
176                                            Box::new(
177                                                SyntheticsAssertionTarget::new(
178                                                    SyntheticsAssertionOperator::LESS_THAN,
179                                                    SyntheticsAssertionTargetValue
180                                                    ::SyntheticsAssertionTargetValueNumber(
181                                                        1000.0 as f64,
182                                                    ),
183                                                    SyntheticsAssertionType::RESPONSE_TIME,
184                                                ),
185                                            ),
186                                        )
187                                    ],
188                                    "DNS step".to_string(),
189                                    SyntheticsTestRequest::new()
190                                        .dns_server("8.8.8.8".to_string())
191                                        .dns_server_port(
192                                            SyntheticsTestRequestDNSServerPort
193                                            ::SyntheticsTestRequestVariableDNSServerPort(
194                                                "53".to_string(),
195                                            ),
196                                        )
197                                        .host("troisdizaines.com".to_string()),
198                                    SyntheticsAPITestStepSubtype::DNS,
199                                )
200                                    .allow_failure(false)
201                                    .is_critical(true)
202                                    .retry(SyntheticsTestOptionsRetry::new().count(0).interval(300.0 as f64)),
203                            ),
204                        ),
205                        SyntheticsAPIStep::SyntheticsAPITestStep(
206                            Box::new(
207                                SyntheticsAPITestStep::new(
208                                    vec![
209                                        SyntheticsAssertion::SyntheticsAssertionTarget(
210                                            Box::new(
211                                                SyntheticsAssertionTarget::new(
212                                                    SyntheticsAssertionOperator::LESS_THAN,
213                                                    SyntheticsAssertionTargetValue
214                                                    ::SyntheticsAssertionTargetValueNumber(
215                                                        1000.0 as f64,
216                                                    ),
217                                                    SyntheticsAssertionType::RESPONSE_TIME,
218                                                ),
219                                            ),
220                                        )
221                                    ],
222                                    "TCP step".to_string(),
223                                    SyntheticsTestRequest::new()
224                                        .host("34.95.79.70".to_string())
225                                        .port(SyntheticsTestRequestPort::SyntheticsTestRequestNumericalPort(80))
226                                        .should_track_hops(true)
227                                        .timeout(32.0 as f64),
228                                    SyntheticsAPITestStepSubtype::TCP,
229                                )
230                                    .allow_failure(false)
231                                    .is_critical(true)
232                                    .retry(SyntheticsTestOptionsRetry::new().count(0).interval(300.0 as f64)),
233                            ),
234                        ),
235                        SyntheticsAPIStep::SyntheticsAPITestStep(
236                            Box::new(
237                                SyntheticsAPITestStep::new(
238                                    vec![
239                                        SyntheticsAssertion::SyntheticsAssertionTarget(
240                                            Box::new(
241                                                SyntheticsAssertionTarget::new(
242                                                    SyntheticsAssertionOperator::IS,
243                                                    SyntheticsAssertionTargetValue
244                                                    ::SyntheticsAssertionTargetValueNumber(
245                                                        0.0 as f64,
246                                                    ),
247                                                    SyntheticsAssertionType::PACKET_LOSS_PERCENTAGE,
248                                                ),
249                                            ),
250                                        )
251                                    ],
252                                    "ICMP step".to_string(),
253                                    SyntheticsTestRequest::new()
254                                        .host("34.95.79.70".to_string())
255                                        .number_of_packets(4)
256                                        .should_track_hops(true)
257                                        .timeout(38.0 as f64),
258                                    SyntheticsAPITestStepSubtype::ICMP,
259                                )
260                                    .allow_failure(false)
261                                    .is_critical(true)
262                                    .retry(SyntheticsTestOptionsRetry::new().count(0).interval(300.0 as f64)),
263                            ),
264                        ),
265                        SyntheticsAPIStep::SyntheticsAPITestStep(
266                            Box::new(
267                                SyntheticsAPITestStep::new(
268                                    vec![
269                                        SyntheticsAssertion::SyntheticsAssertionTarget(
270                                            Box::new(
271                                                SyntheticsAssertionTarget::new(
272                                                    SyntheticsAssertionOperator::LESS_THAN,
273                                                    SyntheticsAssertionTargetValue
274                                                    ::SyntheticsAssertionTargetValueNumber(
275                                                        1000.0 as f64,
276                                                    ),
277                                                    SyntheticsAssertionType::RESPONSE_TIME,
278                                                ),
279                                            ),
280                                        )
281                                    ],
282                                    "Websocket step".to_string(),
283                                    SyntheticsTestRequest::new()
284                                        .basic_auth(
285                                            SyntheticsBasicAuth::SyntheticsBasicAuthWeb(
286                                                Box::new(
287                                                    SyntheticsBasicAuthWeb::new()
288                                                        .password("password".to_string())
289                                                        .type_(SyntheticsBasicAuthWebType::WEB)
290                                                        .username("user".to_string()),
291                                                ),
292                                            ),
293                                        )
294                                        .headers(BTreeMap::from([("f".to_string(), "g".to_string())]))
295                                        .is_message_base64_encoded(true)
296                                        .message("My message".to_string())
297                                        .url("ws://34.95.79.70/web-socket".to_string()),
298                                    SyntheticsAPITestStepSubtype::WEBSOCKET,
299                                )
300                                    .allow_failure(false)
301                                    .is_critical(true)
302                                    .retry(SyntheticsTestOptionsRetry::new().count(0).interval(300.0 as f64)),
303                            ),
304                        ),
305                        SyntheticsAPIStep::SyntheticsAPITestStep(
306                            Box::new(
307                                SyntheticsAPITestStep::new(
308                                    vec![
309                                        SyntheticsAssertion::SyntheticsAssertionTarget(
310                                            Box::new(
311                                                SyntheticsAssertionTarget::new(
312                                                    SyntheticsAssertionOperator::LESS_THAN,
313                                                    SyntheticsAssertionTargetValue
314                                                    ::SyntheticsAssertionTargetValueNumber(
315                                                        1000.0 as f64,
316                                                    ),
317                                                    SyntheticsAssertionType::RESPONSE_TIME,
318                                                ),
319                                            ),
320                                        )
321                                    ],
322                                    "UDP step".to_string(),
323                                    SyntheticsTestRequest::new()
324                                        .host("8.8.8.8".to_string())
325                                        .message("A image.google.com".to_string())
326                                        .port(SyntheticsTestRequestPort::SyntheticsTestRequestNumericalPort(53)),
327                                    SyntheticsAPITestStepSubtype::UDP,
328                                )
329                                    .allow_failure(false)
330                                    .is_critical(true)
331                                    .retry(SyntheticsTestOptionsRetry::new().count(0).interval(300.0 as f64)),
332                            ),
333                        )
334                    ],
335                ),
336            vec!["aws:us-east-2".to_string()],
337            "BDD test payload: synthetics_api_test_multi_step_payload.json".to_string(),
338            "Example-Synthetic".to_string(),
339            SyntheticsTestOptions::new()
340                .accept_self_signed(false)
341                .allow_insecure(true)
342                .follow_redirects(true)
343                .min_failure_duration(10)
344                .min_location_failed(1)
345                .monitor_name("Example-Synthetic".to_string())
346                .monitor_priority(5)
347                .retry(SyntheticsTestOptionsRetry::new().count(3).interval(1000.0 as f64))
348                .tick_every(60),
349            SyntheticsAPITestType::API,
350        )
351            .subtype(SyntheticsTestDetailsSubType::MULTI)
352            .tags(vec!["testing:api".to_string()]);
353    let configuration = datadog::Configuration::new();
354    let api = SyntheticsAPI::with_config(configuration);
355    let resp = api.create_synthetics_api_test(body).await;
356    if let Ok(value) = resp {
357        println!("{:#?}", value);
358    } else {
359        println!("{:#?}", resp.unwrap_err());
360    }
361}
Source

pub fn parser(self, value: SyntheticsVariableParser) -> Self

Examples found in repository?
examples/v1_synthetics_CreateSyntheticsAPITest_1279271422.rs (lines 83-87)
38async fn main() {
39    let body =
40        SyntheticsAPITest::new(
41            SyntheticsAPITestConfig::new()
42                .config_variables(
43                    vec![
44                        SyntheticsConfigVariable::new("PROPERTY".to_string(), SyntheticsConfigVariableType::TEXT)
45                            .example("content-type".to_string())
46                            .pattern("content-type".to_string())
47                    ],
48                )
49                .steps(
50                    vec![
51                        SyntheticsAPIStep::SyntheticsAPITestStep(
52                            Box::new(
53                                SyntheticsAPITestStep::new(
54                                    vec![
55                                        SyntheticsAssertion::SyntheticsAssertionTarget(
56                                            Box::new(
57                                                SyntheticsAssertionTarget::new(
58                                                    SyntheticsAssertionOperator::IS,
59                                                    SyntheticsAssertionTargetValue
60                                                    ::SyntheticsAssertionTargetValueNumber(
61                                                        200.0 as f64,
62                                                    ),
63                                                    SyntheticsAssertionType::STATUS_CODE,
64                                                ),
65                                            ),
66                                        )
67                                    ],
68                                    "request is sent".to_string(),
69                                    SyntheticsTestRequest::new()
70                                        .http_version(SyntheticsTestOptionsHTTPVersion::HTTP2)
71                                        .method("GET".to_string())
72                                        .timeout(10.0 as f64)
73                                        .url("https://datadoghq.com".to_string()),
74                                    SyntheticsAPITestStepSubtype::HTTP,
75                                )
76                                    .allow_failure(true)
77                                    .exit_if_succeed(true)
78                                    .extracted_values(
79                                        vec![
80                                            SyntheticsParsingOptions::new()
81                                                .field("server".to_string())
82                                                .name("EXTRACTED_VALUE".to_string())
83                                                .parser(
84                                                    SyntheticsVariableParser::new(
85                                                        SyntheticsGlobalVariableParserType::RAW,
86                                                    ),
87                                                )
88                                                .secure(true)
89                                                .type_(SyntheticsLocalVariableParsingOptionsType::HTTP_HEADER)
90                                        ],
91                                    )
92                                    .extracted_values_from_script(
93                                        "dd.variable.set('STATUS_CODE', dd.response.statusCode);".to_string(),
94                                    )
95                                    .is_critical(true)
96                                    .retry(SyntheticsTestOptionsRetry::new().count(5).interval(1000.0 as f64)),
97                            ),
98                        ),
99                        SyntheticsAPIStep::SyntheticsAPIWaitStep(
100                            Box::new(
101                                SyntheticsAPIWaitStep::new("Wait".to_string(), SyntheticsAPIWaitStepSubtype::WAIT, 1),
102                            ),
103                        ),
104                        SyntheticsAPIStep::SyntheticsAPITestStep(
105                            Box::new(
106                                SyntheticsAPITestStep::new(
107                                    vec![
108                                        SyntheticsAssertion::SyntheticsAssertionTarget(
109                                            Box::new(
110                                                SyntheticsAssertionTarget::new(
111                                                    SyntheticsAssertionOperator::LESS_THAN,
112                                                    SyntheticsAssertionTargetValue
113                                                    ::SyntheticsAssertionTargetValueNumber(
114                                                        1000.0 as f64,
115                                                    ),
116                                                    SyntheticsAssertionType::RESPONSE_TIME,
117                                                ),
118                                            ),
119                                        )
120                                    ],
121                                    "GRPC CALL".to_string(),
122                                    SyntheticsTestRequest::new()
123                                        .call_type(SyntheticsTestCallType::UNARY)
124                                        .compressed_json_descriptor(
125                                            "eJy1lU1z2yAQhv+Lzj74I3ETH506bQ7OZOSm1w4Wa4epBARQppqM/3v5koCJJdvtxCdW77vPssCO3zMKUgHOFu/ZXvBiS6hZho/f8qe7pftYgXphWJrlA8XwxywEvNba+6PhkC2yVcVVswYp0R6ykRYlZ1SCV21SDrxsssPIeS9FJKqGfK2rqnmmSBwhWa2XlKgtaQPiDcRGCUDVfwGD2sKUqKEtc1cSoOrsMlaMOec1sySYCCgUYRSVLv2zSva2u+FQkB0pVkIw8bFuIudOOn3pOaKYVT3Iy97Pd0AYhOx5QcMsnxvRHlnuLf8ETDd3CNtrv2nejkDpRnANCmGkkFn/hsYzpBKE7jVbufgnKnV9HRM9zRPDDKPttYT61n0TdWkAAjggk9AhuxIeaXd69CYTcsGw7cBTakLVbNpRzGEgyWjkSOpMbZXkhGL6oX30R49qt3GoHrap7i0XdD41WQ+2icCNm5p1hmFqnHNlcla0riKmDZ183crDxChjbnurtxHPRE784sVhWvDfGP+SsTKibU3o5NtWHuZFGZOxP6P5VXqIOvaOSec4eYohyd7NslHuJbd1bewds85xYrNxkr2d+5IhFWF3NvaO684xjE2S5ulY+tu64Pna0fCPJgzw6vF5/WucLcYjt5xoq19O3UDptOg/OamJQRaCcPPnMTQ2QDFn+uhPvUfnCrMc99upyQY4Ui9Dlc/YoG3R/v4Cs9YE+g==".to_string(),
126                                        )
127                                        .host("grpcbin.test.k6.io".to_string())
128                                        .message("{}".to_string())
129                                        .metadata(BTreeMap::from([]))
130                                        .method("Index".to_string())
131                                        .port(SyntheticsTestRequestPort::SyntheticsTestRequestNumericalPort(9000))
132                                        .service("grpcbin.GRPCBin".to_string()),
133                                    SyntheticsAPITestStepSubtype::GRPC,
134                                )
135                                    .allow_failure(false)
136                                    .extracted_values(vec![])
137                                    .is_critical(true)
138                                    .retry(SyntheticsTestOptionsRetry::new().count(0).interval(300.0 as f64)),
139                            ),
140                        ),
141                        SyntheticsAPIStep::SyntheticsAPITestStep(
142                            Box::new(
143                                SyntheticsAPITestStep::new(
144                                    vec![
145                                        SyntheticsAssertion::SyntheticsAssertionTarget(
146                                            Box::new(
147                                                SyntheticsAssertionTarget::new(
148                                                    SyntheticsAssertionOperator::IS_IN_MORE_DAYS_THAN,
149                                                    SyntheticsAssertionTargetValue
150                                                    ::SyntheticsAssertionTargetValueNumber(
151                                                        10.0 as f64,
152                                                    ),
153                                                    SyntheticsAssertionType::CERTIFICATE,
154                                                ),
155                                            ),
156                                        )
157                                    ],
158                                    "SSL step".to_string(),
159                                    SyntheticsTestRequest::new()
160                                        .check_certificate_revocation(true)
161                                        .disable_aia_intermediate_fetching(true)
162                                        .host("example.org".to_string())
163                                        .port(SyntheticsTestRequestPort::SyntheticsTestRequestNumericalPort(443)),
164                                    SyntheticsAPITestStepSubtype::SSL,
165                                )
166                                    .allow_failure(false)
167                                    .is_critical(true)
168                                    .retry(SyntheticsTestOptionsRetry::new().count(0).interval(300.0 as f64)),
169                            ),
170                        ),
171                        SyntheticsAPIStep::SyntheticsAPITestStep(
172                            Box::new(
173                                SyntheticsAPITestStep::new(
174                                    vec![
175                                        SyntheticsAssertion::SyntheticsAssertionTarget(
176                                            Box::new(
177                                                SyntheticsAssertionTarget::new(
178                                                    SyntheticsAssertionOperator::LESS_THAN,
179                                                    SyntheticsAssertionTargetValue
180                                                    ::SyntheticsAssertionTargetValueNumber(
181                                                        1000.0 as f64,
182                                                    ),
183                                                    SyntheticsAssertionType::RESPONSE_TIME,
184                                                ),
185                                            ),
186                                        )
187                                    ],
188                                    "DNS step".to_string(),
189                                    SyntheticsTestRequest::new()
190                                        .dns_server("8.8.8.8".to_string())
191                                        .dns_server_port(
192                                            SyntheticsTestRequestDNSServerPort
193                                            ::SyntheticsTestRequestVariableDNSServerPort(
194                                                "53".to_string(),
195                                            ),
196                                        )
197                                        .host("troisdizaines.com".to_string()),
198                                    SyntheticsAPITestStepSubtype::DNS,
199                                )
200                                    .allow_failure(false)
201                                    .is_critical(true)
202                                    .retry(SyntheticsTestOptionsRetry::new().count(0).interval(300.0 as f64)),
203                            ),
204                        ),
205                        SyntheticsAPIStep::SyntheticsAPITestStep(
206                            Box::new(
207                                SyntheticsAPITestStep::new(
208                                    vec![
209                                        SyntheticsAssertion::SyntheticsAssertionTarget(
210                                            Box::new(
211                                                SyntheticsAssertionTarget::new(
212                                                    SyntheticsAssertionOperator::LESS_THAN,
213                                                    SyntheticsAssertionTargetValue
214                                                    ::SyntheticsAssertionTargetValueNumber(
215                                                        1000.0 as f64,
216                                                    ),
217                                                    SyntheticsAssertionType::RESPONSE_TIME,
218                                                ),
219                                            ),
220                                        )
221                                    ],
222                                    "TCP step".to_string(),
223                                    SyntheticsTestRequest::new()
224                                        .host("34.95.79.70".to_string())
225                                        .port(SyntheticsTestRequestPort::SyntheticsTestRequestNumericalPort(80))
226                                        .should_track_hops(true)
227                                        .timeout(32.0 as f64),
228                                    SyntheticsAPITestStepSubtype::TCP,
229                                )
230                                    .allow_failure(false)
231                                    .is_critical(true)
232                                    .retry(SyntheticsTestOptionsRetry::new().count(0).interval(300.0 as f64)),
233                            ),
234                        ),
235                        SyntheticsAPIStep::SyntheticsAPITestStep(
236                            Box::new(
237                                SyntheticsAPITestStep::new(
238                                    vec![
239                                        SyntheticsAssertion::SyntheticsAssertionTarget(
240                                            Box::new(
241                                                SyntheticsAssertionTarget::new(
242                                                    SyntheticsAssertionOperator::IS,
243                                                    SyntheticsAssertionTargetValue
244                                                    ::SyntheticsAssertionTargetValueNumber(
245                                                        0.0 as f64,
246                                                    ),
247                                                    SyntheticsAssertionType::PACKET_LOSS_PERCENTAGE,
248                                                ),
249                                            ),
250                                        )
251                                    ],
252                                    "ICMP step".to_string(),
253                                    SyntheticsTestRequest::new()
254                                        .host("34.95.79.70".to_string())
255                                        .number_of_packets(4)
256                                        .should_track_hops(true)
257                                        .timeout(38.0 as f64),
258                                    SyntheticsAPITestStepSubtype::ICMP,
259                                )
260                                    .allow_failure(false)
261                                    .is_critical(true)
262                                    .retry(SyntheticsTestOptionsRetry::new().count(0).interval(300.0 as f64)),
263                            ),
264                        ),
265                        SyntheticsAPIStep::SyntheticsAPITestStep(
266                            Box::new(
267                                SyntheticsAPITestStep::new(
268                                    vec![
269                                        SyntheticsAssertion::SyntheticsAssertionTarget(
270                                            Box::new(
271                                                SyntheticsAssertionTarget::new(
272                                                    SyntheticsAssertionOperator::LESS_THAN,
273                                                    SyntheticsAssertionTargetValue
274                                                    ::SyntheticsAssertionTargetValueNumber(
275                                                        1000.0 as f64,
276                                                    ),
277                                                    SyntheticsAssertionType::RESPONSE_TIME,
278                                                ),
279                                            ),
280                                        )
281                                    ],
282                                    "Websocket step".to_string(),
283                                    SyntheticsTestRequest::new()
284                                        .basic_auth(
285                                            SyntheticsBasicAuth::SyntheticsBasicAuthWeb(
286                                                Box::new(
287                                                    SyntheticsBasicAuthWeb::new()
288                                                        .password("password".to_string())
289                                                        .type_(SyntheticsBasicAuthWebType::WEB)
290                                                        .username("user".to_string()),
291                                                ),
292                                            ),
293                                        )
294                                        .headers(BTreeMap::from([("f".to_string(), "g".to_string())]))
295                                        .is_message_base64_encoded(true)
296                                        .message("My message".to_string())
297                                        .url("ws://34.95.79.70/web-socket".to_string()),
298                                    SyntheticsAPITestStepSubtype::WEBSOCKET,
299                                )
300                                    .allow_failure(false)
301                                    .is_critical(true)
302                                    .retry(SyntheticsTestOptionsRetry::new().count(0).interval(300.0 as f64)),
303                            ),
304                        ),
305                        SyntheticsAPIStep::SyntheticsAPITestStep(
306                            Box::new(
307                                SyntheticsAPITestStep::new(
308                                    vec![
309                                        SyntheticsAssertion::SyntheticsAssertionTarget(
310                                            Box::new(
311                                                SyntheticsAssertionTarget::new(
312                                                    SyntheticsAssertionOperator::LESS_THAN,
313                                                    SyntheticsAssertionTargetValue
314                                                    ::SyntheticsAssertionTargetValueNumber(
315                                                        1000.0 as f64,
316                                                    ),
317                                                    SyntheticsAssertionType::RESPONSE_TIME,
318                                                ),
319                                            ),
320                                        )
321                                    ],
322                                    "UDP step".to_string(),
323                                    SyntheticsTestRequest::new()
324                                        .host("8.8.8.8".to_string())
325                                        .message("A image.google.com".to_string())
326                                        .port(SyntheticsTestRequestPort::SyntheticsTestRequestNumericalPort(53)),
327                                    SyntheticsAPITestStepSubtype::UDP,
328                                )
329                                    .allow_failure(false)
330                                    .is_critical(true)
331                                    .retry(SyntheticsTestOptionsRetry::new().count(0).interval(300.0 as f64)),
332                            ),
333                        )
334                    ],
335                ),
336            vec!["aws:us-east-2".to_string()],
337            "BDD test payload: synthetics_api_test_multi_step_payload.json".to_string(),
338            "Example-Synthetic".to_string(),
339            SyntheticsTestOptions::new()
340                .accept_self_signed(false)
341                .allow_insecure(true)
342                .follow_redirects(true)
343                .min_failure_duration(10)
344                .min_location_failed(1)
345                .monitor_name("Example-Synthetic".to_string())
346                .monitor_priority(5)
347                .retry(SyntheticsTestOptionsRetry::new().count(3).interval(1000.0 as f64))
348                .tick_every(60),
349            SyntheticsAPITestType::API,
350        )
351            .subtype(SyntheticsTestDetailsSubType::MULTI)
352            .tags(vec!["testing:api".to_string()]);
353    let configuration = datadog::Configuration::new();
354    let api = SyntheticsAPI::with_config(configuration);
355    let resp = api.create_synthetics_api_test(body).await;
356    if let Ok(value) = resp {
357        println!("{:#?}", value);
358    } else {
359        println!("{:#?}", resp.unwrap_err());
360    }
361}
Source

pub fn secure(self, value: bool) -> Self

Examples found in repository?
examples/v1_synthetics_CreateSyntheticsAPITest_1279271422.rs (line 88)
38async fn main() {
39    let body =
40        SyntheticsAPITest::new(
41            SyntheticsAPITestConfig::new()
42                .config_variables(
43                    vec![
44                        SyntheticsConfigVariable::new("PROPERTY".to_string(), SyntheticsConfigVariableType::TEXT)
45                            .example("content-type".to_string())
46                            .pattern("content-type".to_string())
47                    ],
48                )
49                .steps(
50                    vec![
51                        SyntheticsAPIStep::SyntheticsAPITestStep(
52                            Box::new(
53                                SyntheticsAPITestStep::new(
54                                    vec![
55                                        SyntheticsAssertion::SyntheticsAssertionTarget(
56                                            Box::new(
57                                                SyntheticsAssertionTarget::new(
58                                                    SyntheticsAssertionOperator::IS,
59                                                    SyntheticsAssertionTargetValue
60                                                    ::SyntheticsAssertionTargetValueNumber(
61                                                        200.0 as f64,
62                                                    ),
63                                                    SyntheticsAssertionType::STATUS_CODE,
64                                                ),
65                                            ),
66                                        )
67                                    ],
68                                    "request is sent".to_string(),
69                                    SyntheticsTestRequest::new()
70                                        .http_version(SyntheticsTestOptionsHTTPVersion::HTTP2)
71                                        .method("GET".to_string())
72                                        .timeout(10.0 as f64)
73                                        .url("https://datadoghq.com".to_string()),
74                                    SyntheticsAPITestStepSubtype::HTTP,
75                                )
76                                    .allow_failure(true)
77                                    .exit_if_succeed(true)
78                                    .extracted_values(
79                                        vec![
80                                            SyntheticsParsingOptions::new()
81                                                .field("server".to_string())
82                                                .name("EXTRACTED_VALUE".to_string())
83                                                .parser(
84                                                    SyntheticsVariableParser::new(
85                                                        SyntheticsGlobalVariableParserType::RAW,
86                                                    ),
87                                                )
88                                                .secure(true)
89                                                .type_(SyntheticsLocalVariableParsingOptionsType::HTTP_HEADER)
90                                        ],
91                                    )
92                                    .extracted_values_from_script(
93                                        "dd.variable.set('STATUS_CODE', dd.response.statusCode);".to_string(),
94                                    )
95                                    .is_critical(true)
96                                    .retry(SyntheticsTestOptionsRetry::new().count(5).interval(1000.0 as f64)),
97                            ),
98                        ),
99                        SyntheticsAPIStep::SyntheticsAPIWaitStep(
100                            Box::new(
101                                SyntheticsAPIWaitStep::new("Wait".to_string(), SyntheticsAPIWaitStepSubtype::WAIT, 1),
102                            ),
103                        ),
104                        SyntheticsAPIStep::SyntheticsAPITestStep(
105                            Box::new(
106                                SyntheticsAPITestStep::new(
107                                    vec![
108                                        SyntheticsAssertion::SyntheticsAssertionTarget(
109                                            Box::new(
110                                                SyntheticsAssertionTarget::new(
111                                                    SyntheticsAssertionOperator::LESS_THAN,
112                                                    SyntheticsAssertionTargetValue
113                                                    ::SyntheticsAssertionTargetValueNumber(
114                                                        1000.0 as f64,
115                                                    ),
116                                                    SyntheticsAssertionType::RESPONSE_TIME,
117                                                ),
118                                            ),
119                                        )
120                                    ],
121                                    "GRPC CALL".to_string(),
122                                    SyntheticsTestRequest::new()
123                                        .call_type(SyntheticsTestCallType::UNARY)
124                                        .compressed_json_descriptor(
125                                            "eJy1lU1z2yAQhv+Lzj74I3ETH506bQ7OZOSm1w4Wa4epBARQppqM/3v5koCJJdvtxCdW77vPssCO3zMKUgHOFu/ZXvBiS6hZho/f8qe7pftYgXphWJrlA8XwxywEvNba+6PhkC2yVcVVswYp0R6ykRYlZ1SCV21SDrxsssPIeS9FJKqGfK2rqnmmSBwhWa2XlKgtaQPiDcRGCUDVfwGD2sKUqKEtc1cSoOrsMlaMOec1sySYCCgUYRSVLv2zSva2u+FQkB0pVkIw8bFuIudOOn3pOaKYVT3Iy97Pd0AYhOx5QcMsnxvRHlnuLf8ETDd3CNtrv2nejkDpRnANCmGkkFn/hsYzpBKE7jVbufgnKnV9HRM9zRPDDKPttYT61n0TdWkAAjggk9AhuxIeaXd69CYTcsGw7cBTakLVbNpRzGEgyWjkSOpMbZXkhGL6oX30R49qt3GoHrap7i0XdD41WQ+2icCNm5p1hmFqnHNlcla0riKmDZ183crDxChjbnurtxHPRE784sVhWvDfGP+SsTKibU3o5NtWHuZFGZOxP6P5VXqIOvaOSec4eYohyd7NslHuJbd1bewds85xYrNxkr2d+5IhFWF3NvaO684xjE2S5ulY+tu64Pna0fCPJgzw6vF5/WucLcYjt5xoq19O3UDptOg/OamJQRaCcPPnMTQ2QDFn+uhPvUfnCrMc99upyQY4Ui9Dlc/YoG3R/v4Cs9YE+g==".to_string(),
126                                        )
127                                        .host("grpcbin.test.k6.io".to_string())
128                                        .message("{}".to_string())
129                                        .metadata(BTreeMap::from([]))
130                                        .method("Index".to_string())
131                                        .port(SyntheticsTestRequestPort::SyntheticsTestRequestNumericalPort(9000))
132                                        .service("grpcbin.GRPCBin".to_string()),
133                                    SyntheticsAPITestStepSubtype::GRPC,
134                                )
135                                    .allow_failure(false)
136                                    .extracted_values(vec![])
137                                    .is_critical(true)
138                                    .retry(SyntheticsTestOptionsRetry::new().count(0).interval(300.0 as f64)),
139                            ),
140                        ),
141                        SyntheticsAPIStep::SyntheticsAPITestStep(
142                            Box::new(
143                                SyntheticsAPITestStep::new(
144                                    vec![
145                                        SyntheticsAssertion::SyntheticsAssertionTarget(
146                                            Box::new(
147                                                SyntheticsAssertionTarget::new(
148                                                    SyntheticsAssertionOperator::IS_IN_MORE_DAYS_THAN,
149                                                    SyntheticsAssertionTargetValue
150                                                    ::SyntheticsAssertionTargetValueNumber(
151                                                        10.0 as f64,
152                                                    ),
153                                                    SyntheticsAssertionType::CERTIFICATE,
154                                                ),
155                                            ),
156                                        )
157                                    ],
158                                    "SSL step".to_string(),
159                                    SyntheticsTestRequest::new()
160                                        .check_certificate_revocation(true)
161                                        .disable_aia_intermediate_fetching(true)
162                                        .host("example.org".to_string())
163                                        .port(SyntheticsTestRequestPort::SyntheticsTestRequestNumericalPort(443)),
164                                    SyntheticsAPITestStepSubtype::SSL,
165                                )
166                                    .allow_failure(false)
167                                    .is_critical(true)
168                                    .retry(SyntheticsTestOptionsRetry::new().count(0).interval(300.0 as f64)),
169                            ),
170                        ),
171                        SyntheticsAPIStep::SyntheticsAPITestStep(
172                            Box::new(
173                                SyntheticsAPITestStep::new(
174                                    vec![
175                                        SyntheticsAssertion::SyntheticsAssertionTarget(
176                                            Box::new(
177                                                SyntheticsAssertionTarget::new(
178                                                    SyntheticsAssertionOperator::LESS_THAN,
179                                                    SyntheticsAssertionTargetValue
180                                                    ::SyntheticsAssertionTargetValueNumber(
181                                                        1000.0 as f64,
182                                                    ),
183                                                    SyntheticsAssertionType::RESPONSE_TIME,
184                                                ),
185                                            ),
186                                        )
187                                    ],
188                                    "DNS step".to_string(),
189                                    SyntheticsTestRequest::new()
190                                        .dns_server("8.8.8.8".to_string())
191                                        .dns_server_port(
192                                            SyntheticsTestRequestDNSServerPort
193                                            ::SyntheticsTestRequestVariableDNSServerPort(
194                                                "53".to_string(),
195                                            ),
196                                        )
197                                        .host("troisdizaines.com".to_string()),
198                                    SyntheticsAPITestStepSubtype::DNS,
199                                )
200                                    .allow_failure(false)
201                                    .is_critical(true)
202                                    .retry(SyntheticsTestOptionsRetry::new().count(0).interval(300.0 as f64)),
203                            ),
204                        ),
205                        SyntheticsAPIStep::SyntheticsAPITestStep(
206                            Box::new(
207                                SyntheticsAPITestStep::new(
208                                    vec![
209                                        SyntheticsAssertion::SyntheticsAssertionTarget(
210                                            Box::new(
211                                                SyntheticsAssertionTarget::new(
212                                                    SyntheticsAssertionOperator::LESS_THAN,
213                                                    SyntheticsAssertionTargetValue
214                                                    ::SyntheticsAssertionTargetValueNumber(
215                                                        1000.0 as f64,
216                                                    ),
217                                                    SyntheticsAssertionType::RESPONSE_TIME,
218                                                ),
219                                            ),
220                                        )
221                                    ],
222                                    "TCP step".to_string(),
223                                    SyntheticsTestRequest::new()
224                                        .host("34.95.79.70".to_string())
225                                        .port(SyntheticsTestRequestPort::SyntheticsTestRequestNumericalPort(80))
226                                        .should_track_hops(true)
227                                        .timeout(32.0 as f64),
228                                    SyntheticsAPITestStepSubtype::TCP,
229                                )
230                                    .allow_failure(false)
231                                    .is_critical(true)
232                                    .retry(SyntheticsTestOptionsRetry::new().count(0).interval(300.0 as f64)),
233                            ),
234                        ),
235                        SyntheticsAPIStep::SyntheticsAPITestStep(
236                            Box::new(
237                                SyntheticsAPITestStep::new(
238                                    vec![
239                                        SyntheticsAssertion::SyntheticsAssertionTarget(
240                                            Box::new(
241                                                SyntheticsAssertionTarget::new(
242                                                    SyntheticsAssertionOperator::IS,
243                                                    SyntheticsAssertionTargetValue
244                                                    ::SyntheticsAssertionTargetValueNumber(
245                                                        0.0 as f64,
246                                                    ),
247                                                    SyntheticsAssertionType::PACKET_LOSS_PERCENTAGE,
248                                                ),
249                                            ),
250                                        )
251                                    ],
252                                    "ICMP step".to_string(),
253                                    SyntheticsTestRequest::new()
254                                        .host("34.95.79.70".to_string())
255                                        .number_of_packets(4)
256                                        .should_track_hops(true)
257                                        .timeout(38.0 as f64),
258                                    SyntheticsAPITestStepSubtype::ICMP,
259                                )
260                                    .allow_failure(false)
261                                    .is_critical(true)
262                                    .retry(SyntheticsTestOptionsRetry::new().count(0).interval(300.0 as f64)),
263                            ),
264                        ),
265                        SyntheticsAPIStep::SyntheticsAPITestStep(
266                            Box::new(
267                                SyntheticsAPITestStep::new(
268                                    vec![
269                                        SyntheticsAssertion::SyntheticsAssertionTarget(
270                                            Box::new(
271                                                SyntheticsAssertionTarget::new(
272                                                    SyntheticsAssertionOperator::LESS_THAN,
273                                                    SyntheticsAssertionTargetValue
274                                                    ::SyntheticsAssertionTargetValueNumber(
275                                                        1000.0 as f64,
276                                                    ),
277                                                    SyntheticsAssertionType::RESPONSE_TIME,
278                                                ),
279                                            ),
280                                        )
281                                    ],
282                                    "Websocket step".to_string(),
283                                    SyntheticsTestRequest::new()
284                                        .basic_auth(
285                                            SyntheticsBasicAuth::SyntheticsBasicAuthWeb(
286                                                Box::new(
287                                                    SyntheticsBasicAuthWeb::new()
288                                                        .password("password".to_string())
289                                                        .type_(SyntheticsBasicAuthWebType::WEB)
290                                                        .username("user".to_string()),
291                                                ),
292                                            ),
293                                        )
294                                        .headers(BTreeMap::from([("f".to_string(), "g".to_string())]))
295                                        .is_message_base64_encoded(true)
296                                        .message("My message".to_string())
297                                        .url("ws://34.95.79.70/web-socket".to_string()),
298                                    SyntheticsAPITestStepSubtype::WEBSOCKET,
299                                )
300                                    .allow_failure(false)
301                                    .is_critical(true)
302                                    .retry(SyntheticsTestOptionsRetry::new().count(0).interval(300.0 as f64)),
303                            ),
304                        ),
305                        SyntheticsAPIStep::SyntheticsAPITestStep(
306                            Box::new(
307                                SyntheticsAPITestStep::new(
308                                    vec![
309                                        SyntheticsAssertion::SyntheticsAssertionTarget(
310                                            Box::new(
311                                                SyntheticsAssertionTarget::new(
312                                                    SyntheticsAssertionOperator::LESS_THAN,
313                                                    SyntheticsAssertionTargetValue
314                                                    ::SyntheticsAssertionTargetValueNumber(
315                                                        1000.0 as f64,
316                                                    ),
317                                                    SyntheticsAssertionType::RESPONSE_TIME,
318                                                ),
319                                            ),
320                                        )
321                                    ],
322                                    "UDP step".to_string(),
323                                    SyntheticsTestRequest::new()
324                                        .host("8.8.8.8".to_string())
325                                        .message("A image.google.com".to_string())
326                                        .port(SyntheticsTestRequestPort::SyntheticsTestRequestNumericalPort(53)),
327                                    SyntheticsAPITestStepSubtype::UDP,
328                                )
329                                    .allow_failure(false)
330                                    .is_critical(true)
331                                    .retry(SyntheticsTestOptionsRetry::new().count(0).interval(300.0 as f64)),
332                            ),
333                        )
334                    ],
335                ),
336            vec!["aws:us-east-2".to_string()],
337            "BDD test payload: synthetics_api_test_multi_step_payload.json".to_string(),
338            "Example-Synthetic".to_string(),
339            SyntheticsTestOptions::new()
340                .accept_self_signed(false)
341                .allow_insecure(true)
342                .follow_redirects(true)
343                .min_failure_duration(10)
344                .min_location_failed(1)
345                .monitor_name("Example-Synthetic".to_string())
346                .monitor_priority(5)
347                .retry(SyntheticsTestOptionsRetry::new().count(3).interval(1000.0 as f64))
348                .tick_every(60),
349            SyntheticsAPITestType::API,
350        )
351            .subtype(SyntheticsTestDetailsSubType::MULTI)
352            .tags(vec!["testing:api".to_string()]);
353    let configuration = datadog::Configuration::new();
354    let api = SyntheticsAPI::with_config(configuration);
355    let resp = api.create_synthetics_api_test(body).await;
356    if let Ok(value) = resp {
357        println!("{:#?}", value);
358    } else {
359        println!("{:#?}", resp.unwrap_err());
360    }
361}
Source

pub fn type_(self, value: SyntheticsLocalVariableParsingOptionsType) -> Self

Examples found in repository?
examples/v1_synthetics_CreateSyntheticsAPITest_1279271422.rs (line 89)
38async fn main() {
39    let body =
40        SyntheticsAPITest::new(
41            SyntheticsAPITestConfig::new()
42                .config_variables(
43                    vec![
44                        SyntheticsConfigVariable::new("PROPERTY".to_string(), SyntheticsConfigVariableType::TEXT)
45                            .example("content-type".to_string())
46                            .pattern("content-type".to_string())
47                    ],
48                )
49                .steps(
50                    vec![
51                        SyntheticsAPIStep::SyntheticsAPITestStep(
52                            Box::new(
53                                SyntheticsAPITestStep::new(
54                                    vec![
55                                        SyntheticsAssertion::SyntheticsAssertionTarget(
56                                            Box::new(
57                                                SyntheticsAssertionTarget::new(
58                                                    SyntheticsAssertionOperator::IS,
59                                                    SyntheticsAssertionTargetValue
60                                                    ::SyntheticsAssertionTargetValueNumber(
61                                                        200.0 as f64,
62                                                    ),
63                                                    SyntheticsAssertionType::STATUS_CODE,
64                                                ),
65                                            ),
66                                        )
67                                    ],
68                                    "request is sent".to_string(),
69                                    SyntheticsTestRequest::new()
70                                        .http_version(SyntheticsTestOptionsHTTPVersion::HTTP2)
71                                        .method("GET".to_string())
72                                        .timeout(10.0 as f64)
73                                        .url("https://datadoghq.com".to_string()),
74                                    SyntheticsAPITestStepSubtype::HTTP,
75                                )
76                                    .allow_failure(true)
77                                    .exit_if_succeed(true)
78                                    .extracted_values(
79                                        vec![
80                                            SyntheticsParsingOptions::new()
81                                                .field("server".to_string())
82                                                .name("EXTRACTED_VALUE".to_string())
83                                                .parser(
84                                                    SyntheticsVariableParser::new(
85                                                        SyntheticsGlobalVariableParserType::RAW,
86                                                    ),
87                                                )
88                                                .secure(true)
89                                                .type_(SyntheticsLocalVariableParsingOptionsType::HTTP_HEADER)
90                                        ],
91                                    )
92                                    .extracted_values_from_script(
93                                        "dd.variable.set('STATUS_CODE', dd.response.statusCode);".to_string(),
94                                    )
95                                    .is_critical(true)
96                                    .retry(SyntheticsTestOptionsRetry::new().count(5).interval(1000.0 as f64)),
97                            ),
98                        ),
99                        SyntheticsAPIStep::SyntheticsAPIWaitStep(
100                            Box::new(
101                                SyntheticsAPIWaitStep::new("Wait".to_string(), SyntheticsAPIWaitStepSubtype::WAIT, 1),
102                            ),
103                        ),
104                        SyntheticsAPIStep::SyntheticsAPITestStep(
105                            Box::new(
106                                SyntheticsAPITestStep::new(
107                                    vec![
108                                        SyntheticsAssertion::SyntheticsAssertionTarget(
109                                            Box::new(
110                                                SyntheticsAssertionTarget::new(
111                                                    SyntheticsAssertionOperator::LESS_THAN,
112                                                    SyntheticsAssertionTargetValue
113                                                    ::SyntheticsAssertionTargetValueNumber(
114                                                        1000.0 as f64,
115                                                    ),
116                                                    SyntheticsAssertionType::RESPONSE_TIME,
117                                                ),
118                                            ),
119                                        )
120                                    ],
121                                    "GRPC CALL".to_string(),
122                                    SyntheticsTestRequest::new()
123                                        .call_type(SyntheticsTestCallType::UNARY)
124                                        .compressed_json_descriptor(
125                                            "eJy1lU1z2yAQhv+Lzj74I3ETH506bQ7OZOSm1w4Wa4epBARQppqM/3v5koCJJdvtxCdW77vPssCO3zMKUgHOFu/ZXvBiS6hZho/f8qe7pftYgXphWJrlA8XwxywEvNba+6PhkC2yVcVVswYp0R6ykRYlZ1SCV21SDrxsssPIeS9FJKqGfK2rqnmmSBwhWa2XlKgtaQPiDcRGCUDVfwGD2sKUqKEtc1cSoOrsMlaMOec1sySYCCgUYRSVLv2zSva2u+FQkB0pVkIw8bFuIudOOn3pOaKYVT3Iy97Pd0AYhOx5QcMsnxvRHlnuLf8ETDd3CNtrv2nejkDpRnANCmGkkFn/hsYzpBKE7jVbufgnKnV9HRM9zRPDDKPttYT61n0TdWkAAjggk9AhuxIeaXd69CYTcsGw7cBTakLVbNpRzGEgyWjkSOpMbZXkhGL6oX30R49qt3GoHrap7i0XdD41WQ+2icCNm5p1hmFqnHNlcla0riKmDZ183crDxChjbnurtxHPRE784sVhWvDfGP+SsTKibU3o5NtWHuZFGZOxP6P5VXqIOvaOSec4eYohyd7NslHuJbd1bewds85xYrNxkr2d+5IhFWF3NvaO684xjE2S5ulY+tu64Pna0fCPJgzw6vF5/WucLcYjt5xoq19O3UDptOg/OamJQRaCcPPnMTQ2QDFn+uhPvUfnCrMc99upyQY4Ui9Dlc/YoG3R/v4Cs9YE+g==".to_string(),
126                                        )
127                                        .host("grpcbin.test.k6.io".to_string())
128                                        .message("{}".to_string())
129                                        .metadata(BTreeMap::from([]))
130                                        .method("Index".to_string())
131                                        .port(SyntheticsTestRequestPort::SyntheticsTestRequestNumericalPort(9000))
132                                        .service("grpcbin.GRPCBin".to_string()),
133                                    SyntheticsAPITestStepSubtype::GRPC,
134                                )
135                                    .allow_failure(false)
136                                    .extracted_values(vec![])
137                                    .is_critical(true)
138                                    .retry(SyntheticsTestOptionsRetry::new().count(0).interval(300.0 as f64)),
139                            ),
140                        ),
141                        SyntheticsAPIStep::SyntheticsAPITestStep(
142                            Box::new(
143                                SyntheticsAPITestStep::new(
144                                    vec![
145                                        SyntheticsAssertion::SyntheticsAssertionTarget(
146                                            Box::new(
147                                                SyntheticsAssertionTarget::new(
148                                                    SyntheticsAssertionOperator::IS_IN_MORE_DAYS_THAN,
149                                                    SyntheticsAssertionTargetValue
150                                                    ::SyntheticsAssertionTargetValueNumber(
151                                                        10.0 as f64,
152                                                    ),
153                                                    SyntheticsAssertionType::CERTIFICATE,
154                                                ),
155                                            ),
156                                        )
157                                    ],
158                                    "SSL step".to_string(),
159                                    SyntheticsTestRequest::new()
160                                        .check_certificate_revocation(true)
161                                        .disable_aia_intermediate_fetching(true)
162                                        .host("example.org".to_string())
163                                        .port(SyntheticsTestRequestPort::SyntheticsTestRequestNumericalPort(443)),
164                                    SyntheticsAPITestStepSubtype::SSL,
165                                )
166                                    .allow_failure(false)
167                                    .is_critical(true)
168                                    .retry(SyntheticsTestOptionsRetry::new().count(0).interval(300.0 as f64)),
169                            ),
170                        ),
171                        SyntheticsAPIStep::SyntheticsAPITestStep(
172                            Box::new(
173                                SyntheticsAPITestStep::new(
174                                    vec![
175                                        SyntheticsAssertion::SyntheticsAssertionTarget(
176                                            Box::new(
177                                                SyntheticsAssertionTarget::new(
178                                                    SyntheticsAssertionOperator::LESS_THAN,
179                                                    SyntheticsAssertionTargetValue
180                                                    ::SyntheticsAssertionTargetValueNumber(
181                                                        1000.0 as f64,
182                                                    ),
183                                                    SyntheticsAssertionType::RESPONSE_TIME,
184                                                ),
185                                            ),
186                                        )
187                                    ],
188                                    "DNS step".to_string(),
189                                    SyntheticsTestRequest::new()
190                                        .dns_server("8.8.8.8".to_string())
191                                        .dns_server_port(
192                                            SyntheticsTestRequestDNSServerPort
193                                            ::SyntheticsTestRequestVariableDNSServerPort(
194                                                "53".to_string(),
195                                            ),
196                                        )
197                                        .host("troisdizaines.com".to_string()),
198                                    SyntheticsAPITestStepSubtype::DNS,
199                                )
200                                    .allow_failure(false)
201                                    .is_critical(true)
202                                    .retry(SyntheticsTestOptionsRetry::new().count(0).interval(300.0 as f64)),
203                            ),
204                        ),
205                        SyntheticsAPIStep::SyntheticsAPITestStep(
206                            Box::new(
207                                SyntheticsAPITestStep::new(
208                                    vec![
209                                        SyntheticsAssertion::SyntheticsAssertionTarget(
210                                            Box::new(
211                                                SyntheticsAssertionTarget::new(
212                                                    SyntheticsAssertionOperator::LESS_THAN,
213                                                    SyntheticsAssertionTargetValue
214                                                    ::SyntheticsAssertionTargetValueNumber(
215                                                        1000.0 as f64,
216                                                    ),
217                                                    SyntheticsAssertionType::RESPONSE_TIME,
218                                                ),
219                                            ),
220                                        )
221                                    ],
222                                    "TCP step".to_string(),
223                                    SyntheticsTestRequest::new()
224                                        .host("34.95.79.70".to_string())
225                                        .port(SyntheticsTestRequestPort::SyntheticsTestRequestNumericalPort(80))
226                                        .should_track_hops(true)
227                                        .timeout(32.0 as f64),
228                                    SyntheticsAPITestStepSubtype::TCP,
229                                )
230                                    .allow_failure(false)
231                                    .is_critical(true)
232                                    .retry(SyntheticsTestOptionsRetry::new().count(0).interval(300.0 as f64)),
233                            ),
234                        ),
235                        SyntheticsAPIStep::SyntheticsAPITestStep(
236                            Box::new(
237                                SyntheticsAPITestStep::new(
238                                    vec![
239                                        SyntheticsAssertion::SyntheticsAssertionTarget(
240                                            Box::new(
241                                                SyntheticsAssertionTarget::new(
242                                                    SyntheticsAssertionOperator::IS,
243                                                    SyntheticsAssertionTargetValue
244                                                    ::SyntheticsAssertionTargetValueNumber(
245                                                        0.0 as f64,
246                                                    ),
247                                                    SyntheticsAssertionType::PACKET_LOSS_PERCENTAGE,
248                                                ),
249                                            ),
250                                        )
251                                    ],
252                                    "ICMP step".to_string(),
253                                    SyntheticsTestRequest::new()
254                                        .host("34.95.79.70".to_string())
255                                        .number_of_packets(4)
256                                        .should_track_hops(true)
257                                        .timeout(38.0 as f64),
258                                    SyntheticsAPITestStepSubtype::ICMP,
259                                )
260                                    .allow_failure(false)
261                                    .is_critical(true)
262                                    .retry(SyntheticsTestOptionsRetry::new().count(0).interval(300.0 as f64)),
263                            ),
264                        ),
265                        SyntheticsAPIStep::SyntheticsAPITestStep(
266                            Box::new(
267                                SyntheticsAPITestStep::new(
268                                    vec![
269                                        SyntheticsAssertion::SyntheticsAssertionTarget(
270                                            Box::new(
271                                                SyntheticsAssertionTarget::new(
272                                                    SyntheticsAssertionOperator::LESS_THAN,
273                                                    SyntheticsAssertionTargetValue
274                                                    ::SyntheticsAssertionTargetValueNumber(
275                                                        1000.0 as f64,
276                                                    ),
277                                                    SyntheticsAssertionType::RESPONSE_TIME,
278                                                ),
279                                            ),
280                                        )
281                                    ],
282                                    "Websocket step".to_string(),
283                                    SyntheticsTestRequest::new()
284                                        .basic_auth(
285                                            SyntheticsBasicAuth::SyntheticsBasicAuthWeb(
286                                                Box::new(
287                                                    SyntheticsBasicAuthWeb::new()
288                                                        .password("password".to_string())
289                                                        .type_(SyntheticsBasicAuthWebType::WEB)
290                                                        .username("user".to_string()),
291                                                ),
292                                            ),
293                                        )
294                                        .headers(BTreeMap::from([("f".to_string(), "g".to_string())]))
295                                        .is_message_base64_encoded(true)
296                                        .message("My message".to_string())
297                                        .url("ws://34.95.79.70/web-socket".to_string()),
298                                    SyntheticsAPITestStepSubtype::WEBSOCKET,
299                                )
300                                    .allow_failure(false)
301                                    .is_critical(true)
302                                    .retry(SyntheticsTestOptionsRetry::new().count(0).interval(300.0 as f64)),
303                            ),
304                        ),
305                        SyntheticsAPIStep::SyntheticsAPITestStep(
306                            Box::new(
307                                SyntheticsAPITestStep::new(
308                                    vec![
309                                        SyntheticsAssertion::SyntheticsAssertionTarget(
310                                            Box::new(
311                                                SyntheticsAssertionTarget::new(
312                                                    SyntheticsAssertionOperator::LESS_THAN,
313                                                    SyntheticsAssertionTargetValue
314                                                    ::SyntheticsAssertionTargetValueNumber(
315                                                        1000.0 as f64,
316                                                    ),
317                                                    SyntheticsAssertionType::RESPONSE_TIME,
318                                                ),
319                                            ),
320                                        )
321                                    ],
322                                    "UDP step".to_string(),
323                                    SyntheticsTestRequest::new()
324                                        .host("8.8.8.8".to_string())
325                                        .message("A image.google.com".to_string())
326                                        .port(SyntheticsTestRequestPort::SyntheticsTestRequestNumericalPort(53)),
327                                    SyntheticsAPITestStepSubtype::UDP,
328                                )
329                                    .allow_failure(false)
330                                    .is_critical(true)
331                                    .retry(SyntheticsTestOptionsRetry::new().count(0).interval(300.0 as f64)),
332                            ),
333                        )
334                    ],
335                ),
336            vec!["aws:us-east-2".to_string()],
337            "BDD test payload: synthetics_api_test_multi_step_payload.json".to_string(),
338            "Example-Synthetic".to_string(),
339            SyntheticsTestOptions::new()
340                .accept_self_signed(false)
341                .allow_insecure(true)
342                .follow_redirects(true)
343                .min_failure_duration(10)
344                .min_location_failed(1)
345                .monitor_name("Example-Synthetic".to_string())
346                .monitor_priority(5)
347                .retry(SyntheticsTestOptionsRetry::new().count(3).interval(1000.0 as f64))
348                .tick_every(60),
349            SyntheticsAPITestType::API,
350        )
351            .subtype(SyntheticsTestDetailsSubType::MULTI)
352            .tags(vec!["testing:api".to_string()]);
353    let configuration = datadog::Configuration::new();
354    let api = SyntheticsAPI::with_config(configuration);
355    let resp = api.create_synthetics_api_test(body).await;
356    if let Ok(value) = resp {
357        println!("{:#?}", value);
358    } else {
359        println!("{:#?}", resp.unwrap_err());
360    }
361}
Source

pub fn additional_properties(self, value: BTreeMap<String, Value>) -> Self

Trait Implementations§

Source§

impl Clone for SyntheticsParsingOptions

Source§

fn clone(&self) -> SyntheticsParsingOptions

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for SyntheticsParsingOptions

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for SyntheticsParsingOptions

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for SyntheticsParsingOptions

Source§

fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl PartialEq for SyntheticsParsingOptions

Source§

fn eq(&self, other: &SyntheticsParsingOptions) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Serialize for SyntheticsParsingOptions

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl StructuralPartialEq for SyntheticsParsingOptions

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> ErasedDestructor for T
where T: 'static,