v1_synthetics_UpdateBrowserTest/
v1_synthetics_UpdateBrowserTest.rs1use datadog_api_client::datadog;
3use datadog_api_client::datadogV1::api_synthetics::SyntheticsAPI;
4use datadog_api_client::datadogV1::model::SyntheticsBasicAuth;
5use datadog_api_client::datadogV1::model::SyntheticsBasicAuthWeb;
6use datadog_api_client::datadogV1::model::SyntheticsBasicAuthWebType;
7use datadog_api_client::datadogV1::model::SyntheticsBrowserTest;
8use datadog_api_client::datadogV1::model::SyntheticsBrowserTestConfig;
9use datadog_api_client::datadogV1::model::SyntheticsBrowserTestRumSettings;
10use datadog_api_client::datadogV1::model::SyntheticsBrowserTestType;
11use datadog_api_client::datadogV1::model::SyntheticsBrowserVariable;
12use datadog_api_client::datadogV1::model::SyntheticsBrowserVariableType;
13use datadog_api_client::datadogV1::model::SyntheticsConfigVariable;
14use datadog_api_client::datadogV1::model::SyntheticsConfigVariableType;
15use datadog_api_client::datadogV1::model::SyntheticsStep;
16use datadog_api_client::datadogV1::model::SyntheticsStepType;
17use datadog_api_client::datadogV1::model::SyntheticsTestCallType;
18use datadog_api_client::datadogV1::model::SyntheticsTestCiOptions;
19use datadog_api_client::datadogV1::model::SyntheticsTestExecutionRule;
20use datadog_api_client::datadogV1::model::SyntheticsTestOptions;
21use datadog_api_client::datadogV1::model::SyntheticsTestOptionsHTTPVersion;
22use datadog_api_client::datadogV1::model::SyntheticsTestOptionsMonitorOptions;
23use datadog_api_client::datadogV1::model::SyntheticsTestOptionsMonitorOptionsNotificationPresetName;
24use datadog_api_client::datadogV1::model::SyntheticsTestOptionsRetry;
25use datadog_api_client::datadogV1::model::SyntheticsTestOptionsScheduling;
26use datadog_api_client::datadogV1::model::SyntheticsTestOptionsSchedulingTimeframe;
27use datadog_api_client::datadogV1::model::SyntheticsTestPauseStatus;
28use datadog_api_client::datadogV1::model::SyntheticsTestRequest;
29use datadog_api_client::datadogV1::model::SyntheticsTestRequestBodyFile;
30use datadog_api_client::datadogV1::model::SyntheticsTestRequestBodyType;
31use datadog_api_client::datadogV1::model::SyntheticsTestRequestCertificate;
32use datadog_api_client::datadogV1::model::SyntheticsTestRequestCertificateItem;
33use datadog_api_client::datadogV1::model::SyntheticsTestRequestProxy;
34
35#[tokio::main]
36async fn main() {
37 let body = SyntheticsBrowserTest::new(
38 SyntheticsBrowserTestConfig::new(
39 vec![],
40 SyntheticsTestRequest::new()
41 .basic_auth(SyntheticsBasicAuth::SyntheticsBasicAuthWeb(Box::new(
42 SyntheticsBasicAuthWeb::new()
43 .password("PaSSw0RD!".to_string())
44 .type_(SyntheticsBasicAuthWebType::WEB)
45 .username("my_username".to_string()),
46 )))
47 .body_type(SyntheticsTestRequestBodyType::TEXT_PLAIN)
48 .call_type(SyntheticsTestCallType::UNARY)
49 .certificate(
50 SyntheticsTestRequestCertificate::new()
51 .cert(SyntheticsTestRequestCertificateItem::new())
52 .key(SyntheticsTestRequestCertificateItem::new()),
53 )
54 .certificate_domains(vec![])
55 .files(vec![SyntheticsTestRequestBodyFile::new()])
56 .http_version(SyntheticsTestOptionsHTTPVersion::HTTP1)
57 .proxy(SyntheticsTestRequestProxy::new(
58 "https://example.com".to_string(),
59 ))
60 .service("Greeter".to_string())
61 .url("https://example.com".to_string()),
62 )
63 .config_variables(vec![SyntheticsConfigVariable::new(
64 "VARIABLE_NAME".to_string(),
65 SyntheticsConfigVariableType::TEXT,
66 )
67 .secure(false)])
68 .variables(vec![SyntheticsBrowserVariable::new(
69 "VARIABLE_NAME".to_string(),
70 SyntheticsBrowserVariableType::TEXT,
71 )]),
72 vec!["aws:eu-west-3".to_string()],
73 "".to_string(),
74 "Example test name".to_string(),
75 SyntheticsTestOptions::new()
76 .blocked_request_patterns(vec![])
77 .ci(SyntheticsTestCiOptions::new(
78 SyntheticsTestExecutionRule::BLOCKING,
79 ))
80 .device_ids(vec!["chrome.laptop_large".to_string()])
81 .http_version(SyntheticsTestOptionsHTTPVersion::HTTP1)
82 .monitor_options(
83 SyntheticsTestOptionsMonitorOptions::new().notification_preset_name(
84 SyntheticsTestOptionsMonitorOptionsNotificationPresetName::SHOW_ALL,
85 ),
86 )
87 .restricted_roles(vec!["xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx".to_string()])
88 .retry(SyntheticsTestOptionsRetry::new())
89 .rum_settings(
90 SyntheticsBrowserTestRumSettings::new(true)
91 .application_id("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx".to_string())
92 .client_token_id(12345),
93 )
94 .scheduling(SyntheticsTestOptionsScheduling::new(
95 vec![
96 SyntheticsTestOptionsSchedulingTimeframe::new(
97 1,
98 "07:00".to_string(),
99 "16:00".to_string(),
100 ),
101 SyntheticsTestOptionsSchedulingTimeframe::new(
102 3,
103 "07:00".to_string(),
104 "16:00".to_string(),
105 ),
106 ],
107 "America/New_York".to_string(),
108 )),
109 SyntheticsBrowserTestType::BROWSER,
110 )
111 .status(SyntheticsTestPauseStatus::LIVE)
112 .steps(vec![
113 SyntheticsStep::new().type_(SyntheticsStepType::ASSERT_ELEMENT_CONTENT)
114 ])
115 .tags(vec!["env:prod".to_string()]);
116 let configuration = datadog::Configuration::new();
117 let api = SyntheticsAPI::with_config(configuration);
118 let resp = api.update_browser_test("public_id".to_string(), body).await;
119 if let Ok(value) = resp {
120 println!("{:#?}", value);
121 } else {
122 println!("{:#?}", resp.unwrap_err());
123 }
124}