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 .ci(SyntheticsTestCiOptions::new(
77 SyntheticsTestExecutionRule::BLOCKING,
78 ))
79 .device_ids(vec!["chrome.laptop_large".to_string()])
80 .http_version(SyntheticsTestOptionsHTTPVersion::HTTP1)
81 .monitor_options(
82 SyntheticsTestOptionsMonitorOptions::new().notification_preset_name(
83 SyntheticsTestOptionsMonitorOptionsNotificationPresetName::SHOW_ALL,
84 ),
85 )
86 .restricted_roles(vec!["xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx".to_string()])
87 .retry(SyntheticsTestOptionsRetry::new())
88 .rum_settings(
89 SyntheticsBrowserTestRumSettings::new(true)
90 .application_id("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx".to_string())
91 .client_token_id(12345),
92 )
93 .scheduling(SyntheticsTestOptionsScheduling::new(
94 vec![
95 SyntheticsTestOptionsSchedulingTimeframe::new(
96 1,
97 "07:00".to_string(),
98 "16:00".to_string(),
99 ),
100 SyntheticsTestOptionsSchedulingTimeframe::new(
101 3,
102 "07:00".to_string(),
103 "16:00".to_string(),
104 ),
105 ],
106 "America/New_York".to_string(),
107 )),
108 SyntheticsBrowserTestType::BROWSER,
109 )
110 .status(SyntheticsTestPauseStatus::LIVE)
111 .steps(vec![
112 SyntheticsStep::new().type_(SyntheticsStepType::ASSERT_ELEMENT_CONTENT)
113 ])
114 .tags(vec!["env:prod".to_string()]);
115 let configuration = datadog::Configuration::new();
116 let api = SyntheticsAPI::with_config(configuration);
117 let resp = api.update_browser_test("public_id".to_string(), body).await;
118 if let Ok(value) = resp {
119 println!("{:#?}", value);
120 } else {
121 println!("{:#?}", resp.unwrap_err());
122 }
123}