#[non_exhaustive]pub struct SyntheticsTestOptions {Show 25 fields
pub accept_self_signed: Option<bool>,
pub allow_insecure: Option<bool>,
pub check_certificate_revocation: Option<bool>,
pub ci: Option<SyntheticsTestCiOptions>,
pub device_ids: Option<Vec<String>>,
pub disable_cors: Option<bool>,
pub disable_csp: Option<bool>,
pub enable_profiling: Option<bool>,
pub enable_security_testing: Option<bool>,
pub follow_redirects: Option<bool>,
pub http_version: Option<SyntheticsTestOptionsHTTPVersion>,
pub ignore_server_certificate_error: Option<bool>,
pub initial_navigation_timeout: Option<i64>,
pub min_failure_duration: Option<i64>,
pub min_location_failed: Option<i64>,
pub monitor_name: Option<String>,
pub monitor_options: Option<SyntheticsTestOptionsMonitorOptions>,
pub monitor_priority: Option<i32>,
pub no_screenshot: Option<bool>,
pub restricted_roles: Option<Vec<String>>,
pub retry: Option<SyntheticsTestOptionsRetry>,
pub rum_settings: Option<SyntheticsBrowserTestRumSettings>,
pub scheduling: Option<SyntheticsTestOptionsScheduling>,
pub tick_every: Option<i64>,
pub additional_properties: BTreeMap<String, Value>,
/* private fields */
}
Expand description
Object describing the extra options for a Synthetic test.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. }
syntax; cannot be matched against without a wildcard ..
; and struct update syntax will not work.accept_self_signed: Option<bool>
For SSL test, whether or not the test should allow self signed certificates.
allow_insecure: Option<bool>
Allows loading insecure content for an HTTP request in an API test.
check_certificate_revocation: Option<bool>
For SSL test, whether or not the test should fail on revoked certificate in stapled OCSP.
ci: Option<SyntheticsTestCiOptions>
CI/CD options for a Synthetic test.
device_ids: Option<Vec<String>>
For browser test, array with the different device IDs used to run the test.
disable_cors: Option<bool>
Whether or not to disable CORS mechanism.
disable_csp: Option<bool>
Disable Content Security Policy for browser tests.
enable_profiling: Option<bool>
Enable profiling for browser tests.
enable_security_testing: Option<bool>
Enable security testing for browser tests. Security testing is not available anymore. This field is deprecated and won’t be used.
follow_redirects: Option<bool>
For API HTTP test, whether or not the test should follow redirects.
http_version: Option<SyntheticsTestOptionsHTTPVersion>
HTTP version to use for a Synthetic test.
ignore_server_certificate_error: Option<bool>
Ignore server certificate error for browser tests.
Timeout before declaring the initial step as failed (in seconds) for browser tests.
min_failure_duration: Option<i64>
Minimum amount of time in failure required to trigger an alert.
min_location_failed: Option<i64>
Minimum number of locations in failure required to trigger an alert.
monitor_name: Option<String>
The monitor name is used for the alert title as well as for all monitor dashboard widgets and SLOs.
monitor_options: Option<SyntheticsTestOptionsMonitorOptions>
Object containing the options for a Synthetic test as a monitor (for example, renotification).
monitor_priority: Option<i32>
Integer from 1 (high) to 5 (low) indicating alert severity.
no_screenshot: Option<bool>
Prevents saving screenshots of the steps.
restricted_roles: Option<Vec<String>>
A list of role identifiers that can be pulled from the Roles API, for restricting read and write access.
retry: Option<SyntheticsTestOptionsRetry>
Object describing the retry strategy to apply to a Synthetic test.
rum_settings: Option<SyntheticsBrowserTestRumSettings>
The RUM data collection settings for the Synthetic browser test. Note: There are 3 ways to format RUM settings:
{ isEnabled: false }
RUM data is not collected.
{ isEnabled: true }
RUM data is collected from the Synthetic test’s default application.
{ isEnabled: true, applicationId: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", clientTokenId: 12345 }
RUM data is collected using the specified application.
scheduling: Option<SyntheticsTestOptionsScheduling>
Object containing timeframes and timezone used for advanced scheduling.
tick_every: Option<i64>
The frequency at which to run the Synthetic test (in seconds).
additional_properties: BTreeMap<String, Value>
Implementations§
Source§impl SyntheticsTestOptions
impl SyntheticsTestOptions
Sourcepub fn new() -> SyntheticsTestOptions
pub fn new() -> SyntheticsTestOptions
Examples found in repository?
18async fn main() {
19 let body = SyntheticsAPITest::new(
20 SyntheticsAPITestConfig::new()
21 .assertions(vec![SyntheticsAssertion::SyntheticsAssertionTarget(
22 Box::new(SyntheticsAssertionTarget::new(
23 SyntheticsAssertionOperator::IS_IN_MORE_DAYS_THAN,
24 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueNumber(
25 10.0 as f64,
26 ),
27 SyntheticsAssertionType::CERTIFICATE,
28 )),
29 )])
30 .request(
31 SyntheticsTestRequest::new()
32 .host("datadoghq.com".to_string())
33 .port(
34 SyntheticsTestRequestPort::SyntheticsTestRequestVariablePort(
35 "{{ DATADOG_PORT }}".to_string(),
36 ),
37 ),
38 ),
39 vec!["aws:us-east-2".to_string()],
40 "BDD test payload: synthetics_api_ssl_test_payload.json".to_string(),
41 "Example-Synthetic".to_string(),
42 SyntheticsTestOptions::new()
43 .accept_self_signed(true)
44 .check_certificate_revocation(true)
45 .tick_every(60),
46 SyntheticsAPITestType::API,
47 )
48 .subtype(SyntheticsTestDetailsSubType::SSL)
49 .tags(vec!["testing:api".to_string()]);
50 let configuration = datadog::Configuration::new();
51 let api = SyntheticsAPI::with_config(configuration);
52 let resp = api.create_synthetics_api_test(body).await;
53 if let Ok(value) = resp {
54 println!("{:#?}", value);
55 } else {
56 println!("{:#?}", resp.unwrap_err());
57 }
58}
More examples
19async fn main() {
20 let body = SyntheticsBrowserTest::new(
21 SyntheticsBrowserTestConfig::new(
22 vec![],
23 SyntheticsTestRequest::new()
24 .method("GET".to_string())
25 .url("https://datadoghq.com".to_string()),
26 )
27 .config_variables(vec![SyntheticsConfigVariable::new(
28 "PROPERTY".to_string(),
29 SyntheticsConfigVariableType::TEXT,
30 )
31 .example("content-type".to_string())
32 .pattern("content-type".to_string())
33 .secure(true)])
34 .set_cookie("name:test".to_string())
35 .variables(vec![SyntheticsBrowserVariable::new(
36 "TEST_VARIABLE".to_string(),
37 SyntheticsBrowserVariableType::TEXT,
38 )
39 .example("secret".to_string())
40 .pattern("secret".to_string())
41 .secure(true)]),
42 vec!["aws:us-east-2".to_string()],
43 "Test message".to_string(),
44 "Example-Synthetic".to_string(),
45 SyntheticsTestOptions::new()
46 .accept_self_signed(false)
47 .allow_insecure(true)
48 .device_ids(vec!["chrome.laptop_large".to_string()])
49 .disable_cors(true)
50 .enable_profiling(true)
51 .enable_security_testing(true)
52 .follow_redirects(true)
53 .min_failure_duration(10)
54 .min_location_failed(1)
55 .no_screenshot(true)
56 .retry(
57 SyntheticsTestOptionsRetry::new()
58 .count(2)
59 .interval(10.0 as f64),
60 )
61 .tick_every(300),
62 SyntheticsBrowserTestType::BROWSER,
63 )
64 .steps(vec![SyntheticsStep::new()
65 .allow_failure(false)
66 .always_execute(true)
67 .exit_if_succeed(true)
68 .is_critical(true)
69 .name("Refresh page".to_string())
70 .params(BTreeMap::new())
71 .type_(SyntheticsStepType::REFRESH)])
72 .tags(vec!["testing:browser".to_string()]);
73 let configuration = datadog::Configuration::new();
74 let api = SyntheticsAPI::with_config(configuration);
75 let resp = api.create_synthetics_browser_test(body).await;
76 if let Ok(value) = resp {
77 println!("{:#?}", value);
78 } else {
79 println!("{:#?}", resp.unwrap_err());
80 }
81}
20async fn main() {
21 let body = SyntheticsBrowserTest::new(
22 SyntheticsBrowserTestConfig::new(
23 vec![],
24 SyntheticsTestRequest::new()
25 .certificate_domains(vec!["https://datadoghq.com".to_string()])
26 .method("GET".to_string())
27 .url("https://datadoghq.com".to_string()),
28 )
29 .config_variables(vec![SyntheticsConfigVariable::new(
30 "PROPERTY".to_string(),
31 SyntheticsConfigVariableType::TEXT,
32 )
33 .example("content-type".to_string())
34 .pattern("content-type".to_string())])
35 .set_cookie("name:test".to_string()),
36 vec!["aws:us-east-2".to_string()],
37 "Test message".to_string(),
38 "Example-Synthetic".to_string(),
39 SyntheticsTestOptions::new()
40 .accept_self_signed(false)
41 .allow_insecure(true)
42 .ci(SyntheticsTestCiOptions::new(
43 SyntheticsTestExecutionRule::SKIPPED,
44 ))
45 .device_ids(vec!["tablet".to_string()])
46 .disable_cors(true)
47 .disable_csp(true)
48 .follow_redirects(true)
49 .ignore_server_certificate_error(true)
50 .initial_navigation_timeout(200)
51 .min_failure_duration(10)
52 .min_location_failed(1)
53 .no_screenshot(true)
54 .retry(
55 SyntheticsTestOptionsRetry::new()
56 .count(2)
57 .interval(10.0 as f64),
58 )
59 .rum_settings(
60 SyntheticsBrowserTestRumSettings::new(true)
61 .application_id("mockApplicationId".to_string())
62 .client_token_id(12345),
63 )
64 .tick_every(300),
65 SyntheticsBrowserTestType::BROWSER,
66 )
67 .steps(vec![SyntheticsStep::new()
68 .allow_failure(false)
69 .is_critical(true)
70 .name("Refresh page".to_string())
71 .params(BTreeMap::new())
72 .type_(SyntheticsStepType::REFRESH)])
73 .tags(vec!["testing:browser".to_string()]);
74 let configuration = datadog::Configuration::new();
75 let api = SyntheticsAPI::with_config(configuration);
76 let resp = api.create_synthetics_browser_test(body).await;
77 if let Ok(value) = resp {
78 println!("{:#?}", value);
79 } else {
80 println!("{:#?}", resp.unwrap_err());
81 }
82}
19async fn main() {
20 let body = SyntheticsAPITest::new(
21 SyntheticsAPITestConfig::new()
22 .assertions(vec![
23 SyntheticsAssertion::SyntheticsAssertionTarget(Box::new(
24 SyntheticsAssertionTarget::new(
25 SyntheticsAssertionOperator::IS,
26 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueString(
27 "message".to_string(),
28 ),
29 SyntheticsAssertionType::RECEIVED_MESSAGE,
30 ),
31 )),
32 SyntheticsAssertion::SyntheticsAssertionTarget(Box::new(
33 SyntheticsAssertionTarget::new(
34 SyntheticsAssertionOperator::LESS_THAN,
35 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueNumber(
36 2000.0 as f64,
37 ),
38 SyntheticsAssertionType::RESPONSE_TIME,
39 ),
40 )),
41 ])
42 .config_variables(vec![])
43 .request(
44 SyntheticsTestRequest::new()
45 .message("message".to_string())
46 .url("ws://datadoghq.com".to_string()),
47 ),
48 vec!["aws:us-east-2".to_string()],
49 "BDD test payload: synthetics_api_test_websocket_payload.json".to_string(),
50 "Example-Synthetic".to_string(),
51 SyntheticsTestOptions::new()
52 .accept_self_signed(false)
53 .allow_insecure(true)
54 .follow_redirects(true)
55 .min_failure_duration(10)
56 .min_location_failed(1)
57 .monitor_name("Example-Synthetic".to_string())
58 .monitor_priority(5)
59 .retry(
60 SyntheticsTestOptionsRetry::new()
61 .count(3)
62 .interval(10.0 as f64),
63 )
64 .tick_every(60),
65 SyntheticsAPITestType::API,
66 )
67 .subtype(SyntheticsTestDetailsSubType::WEBSOCKET)
68 .tags(vec!["testing:api".to_string()]);
69 let configuration = datadog::Configuration::new();
70 let api = SyntheticsAPI::with_config(configuration);
71 let resp = api.create_synthetics_api_test(body).await;
72 if let Ok(value) = resp {
73 println!("{:#?}", value);
74 } else {
75 println!("{:#?}", resp.unwrap_err());
76 }
77}
20async fn main() {
21 let body = SyntheticsBrowserTest::new(
22 SyntheticsBrowserTestConfig::new(
23 vec![],
24 SyntheticsTestRequest::new()
25 .method("GET".to_string())
26 .url("https://datadoghq.com".to_string()),
27 )
28 .config_variables(vec![SyntheticsConfigVariable::new(
29 "PROPERTY".to_string(),
30 SyntheticsConfigVariableType::TEXT,
31 )
32 .example("content-type".to_string())
33 .pattern("content-type".to_string())])
34 .set_cookie("name:test".to_string()),
35 vec!["aws:us-east-2".to_string()],
36 "Test message".to_string(),
37 "Example-Synthetic".to_string(),
38 SyntheticsTestOptions::new()
39 .accept_self_signed(false)
40 .allow_insecure(true)
41 .device_ids(vec!["tablet".to_string()])
42 .disable_cors(true)
43 .follow_redirects(true)
44 .min_failure_duration(10)
45 .min_location_failed(1)
46 .no_screenshot(true)
47 .retry(
48 SyntheticsTestOptionsRetry::new()
49 .count(2)
50 .interval(10.0 as f64),
51 )
52 .scheduling(SyntheticsTestOptionsScheduling::new(
53 vec![
54 SyntheticsTestOptionsSchedulingTimeframe::new(
55 1,
56 "07:00".to_string(),
57 "16:00".to_string(),
58 ),
59 SyntheticsTestOptionsSchedulingTimeframe::new(
60 3,
61 "07:00".to_string(),
62 "16:00".to_string(),
63 ),
64 ],
65 "America/New_York".to_string(),
66 ))
67 .tick_every(300),
68 SyntheticsBrowserTestType::BROWSER,
69 )
70 .steps(vec![SyntheticsStep::new()
71 .allow_failure(false)
72 .is_critical(true)
73 .name("Refresh page".to_string())
74 .params(BTreeMap::new())
75 .type_(SyntheticsStepType::REFRESH)])
76 .tags(vec!["testing:browser".to_string()]);
77 let configuration = datadog::Configuration::new();
78 let api = SyntheticsAPI::with_config(configuration);
79 let resp = api.create_synthetics_browser_test(body).await;
80 if let Ok(value) = resp {
81 println!("{:#?}", value);
82 } else {
83 println!("{:#?}", resp.unwrap_err());
84 }
85}
20async fn main() {
21 let body = SyntheticsAPITest::new(
22 SyntheticsAPITestConfig::new()
23 .assertions(vec![
24 SyntheticsAssertion::SyntheticsAssertionTarget(Box::new(
25 SyntheticsAssertionTarget::new(
26 SyntheticsAssertionOperator::IS,
27 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueString(
28 "message".to_string(),
29 ),
30 SyntheticsAssertionType::RECEIVED_MESSAGE,
31 ),
32 )),
33 SyntheticsAssertion::SyntheticsAssertionTarget(Box::new(
34 SyntheticsAssertionTarget::new(
35 SyntheticsAssertionOperator::LESS_THAN,
36 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueNumber(
37 2000.0 as f64,
38 ),
39 SyntheticsAssertionType::RESPONSE_TIME,
40 ),
41 )),
42 ])
43 .config_variables(vec![])
44 .request(
45 SyntheticsTestRequest::new()
46 .host("https://datadoghq.com".to_string())
47 .message("message".to_string())
48 .port(SyntheticsTestRequestPort::SyntheticsTestRequestNumericalPort(443)),
49 ),
50 vec!["aws:us-east-2".to_string()],
51 "BDD test payload: synthetics_api_test_udp_payload.json".to_string(),
52 "Example-Synthetic".to_string(),
53 SyntheticsTestOptions::new()
54 .accept_self_signed(false)
55 .allow_insecure(true)
56 .follow_redirects(true)
57 .min_failure_duration(10)
58 .min_location_failed(1)
59 .monitor_name("Example-Synthetic".to_string())
60 .monitor_priority(5)
61 .retry(
62 SyntheticsTestOptionsRetry::new()
63 .count(3)
64 .interval(10.0 as f64),
65 )
66 .tick_every(60),
67 SyntheticsAPITestType::API,
68 )
69 .subtype(SyntheticsTestDetailsSubType::UDP)
70 .tags(vec!["testing:api".to_string()]);
71 let configuration = datadog::Configuration::new();
72 let api = SyntheticsAPI::with_config(configuration);
73 let resp = api.create_synthetics_api_test(body).await;
74 if let Ok(value) = resp {
75 println!("{:#?}", value);
76 } else {
77 println!("{:#?}", resp.unwrap_err());
78 }
79}
- examples/v1_synthetics_CreateSyntheticsAPITest.rs
- examples/v1_synthetics_CreateSyntheticsAPITest_1402674167.rs
- examples/v1_synthetics_UpdateBrowserTest.rs
- examples/v1_synthetics_UpdateAPITest.rs
- examples/v1_synthetics_CreateSyntheticsAPITest_1241981394.rs
- examples/v1_synthetics_CreateSyntheticsAPITest_960766374.rs
- examples/v1_synthetics_CreateSyntheticsAPITest_1717840259.rs
- examples/v1_synthetics_CreateSyntheticsAPITest_1487281163.rs
- examples/v1_synthetics_CreateSyntheticsAPITest_1987645492.rs
- examples/v1_synthetics_CreateSyntheticsAPITest_1279271422.rs
Sourcepub fn accept_self_signed(self, value: bool) -> Self
pub fn accept_self_signed(self, value: bool) -> Self
Examples found in repository?
18async fn main() {
19 let body = SyntheticsAPITest::new(
20 SyntheticsAPITestConfig::new()
21 .assertions(vec![SyntheticsAssertion::SyntheticsAssertionTarget(
22 Box::new(SyntheticsAssertionTarget::new(
23 SyntheticsAssertionOperator::IS_IN_MORE_DAYS_THAN,
24 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueNumber(
25 10.0 as f64,
26 ),
27 SyntheticsAssertionType::CERTIFICATE,
28 )),
29 )])
30 .request(
31 SyntheticsTestRequest::new()
32 .host("datadoghq.com".to_string())
33 .port(
34 SyntheticsTestRequestPort::SyntheticsTestRequestVariablePort(
35 "{{ DATADOG_PORT }}".to_string(),
36 ),
37 ),
38 ),
39 vec!["aws:us-east-2".to_string()],
40 "BDD test payload: synthetics_api_ssl_test_payload.json".to_string(),
41 "Example-Synthetic".to_string(),
42 SyntheticsTestOptions::new()
43 .accept_self_signed(true)
44 .check_certificate_revocation(true)
45 .tick_every(60),
46 SyntheticsAPITestType::API,
47 )
48 .subtype(SyntheticsTestDetailsSubType::SSL)
49 .tags(vec!["testing:api".to_string()]);
50 let configuration = datadog::Configuration::new();
51 let api = SyntheticsAPI::with_config(configuration);
52 let resp = api.create_synthetics_api_test(body).await;
53 if let Ok(value) = resp {
54 println!("{:#?}", value);
55 } else {
56 println!("{:#?}", resp.unwrap_err());
57 }
58}
More examples
19async fn main() {
20 let body = SyntheticsBrowserTest::new(
21 SyntheticsBrowserTestConfig::new(
22 vec![],
23 SyntheticsTestRequest::new()
24 .method("GET".to_string())
25 .url("https://datadoghq.com".to_string()),
26 )
27 .config_variables(vec![SyntheticsConfigVariable::new(
28 "PROPERTY".to_string(),
29 SyntheticsConfigVariableType::TEXT,
30 )
31 .example("content-type".to_string())
32 .pattern("content-type".to_string())
33 .secure(true)])
34 .set_cookie("name:test".to_string())
35 .variables(vec![SyntheticsBrowserVariable::new(
36 "TEST_VARIABLE".to_string(),
37 SyntheticsBrowserVariableType::TEXT,
38 )
39 .example("secret".to_string())
40 .pattern("secret".to_string())
41 .secure(true)]),
42 vec!["aws:us-east-2".to_string()],
43 "Test message".to_string(),
44 "Example-Synthetic".to_string(),
45 SyntheticsTestOptions::new()
46 .accept_self_signed(false)
47 .allow_insecure(true)
48 .device_ids(vec!["chrome.laptop_large".to_string()])
49 .disable_cors(true)
50 .enable_profiling(true)
51 .enable_security_testing(true)
52 .follow_redirects(true)
53 .min_failure_duration(10)
54 .min_location_failed(1)
55 .no_screenshot(true)
56 .retry(
57 SyntheticsTestOptionsRetry::new()
58 .count(2)
59 .interval(10.0 as f64),
60 )
61 .tick_every(300),
62 SyntheticsBrowserTestType::BROWSER,
63 )
64 .steps(vec![SyntheticsStep::new()
65 .allow_failure(false)
66 .always_execute(true)
67 .exit_if_succeed(true)
68 .is_critical(true)
69 .name("Refresh page".to_string())
70 .params(BTreeMap::new())
71 .type_(SyntheticsStepType::REFRESH)])
72 .tags(vec!["testing:browser".to_string()]);
73 let configuration = datadog::Configuration::new();
74 let api = SyntheticsAPI::with_config(configuration);
75 let resp = api.create_synthetics_browser_test(body).await;
76 if let Ok(value) = resp {
77 println!("{:#?}", value);
78 } else {
79 println!("{:#?}", resp.unwrap_err());
80 }
81}
20async fn main() {
21 let body = SyntheticsBrowserTest::new(
22 SyntheticsBrowserTestConfig::new(
23 vec![],
24 SyntheticsTestRequest::new()
25 .certificate_domains(vec!["https://datadoghq.com".to_string()])
26 .method("GET".to_string())
27 .url("https://datadoghq.com".to_string()),
28 )
29 .config_variables(vec![SyntheticsConfigVariable::new(
30 "PROPERTY".to_string(),
31 SyntheticsConfigVariableType::TEXT,
32 )
33 .example("content-type".to_string())
34 .pattern("content-type".to_string())])
35 .set_cookie("name:test".to_string()),
36 vec!["aws:us-east-2".to_string()],
37 "Test message".to_string(),
38 "Example-Synthetic".to_string(),
39 SyntheticsTestOptions::new()
40 .accept_self_signed(false)
41 .allow_insecure(true)
42 .ci(SyntheticsTestCiOptions::new(
43 SyntheticsTestExecutionRule::SKIPPED,
44 ))
45 .device_ids(vec!["tablet".to_string()])
46 .disable_cors(true)
47 .disable_csp(true)
48 .follow_redirects(true)
49 .ignore_server_certificate_error(true)
50 .initial_navigation_timeout(200)
51 .min_failure_duration(10)
52 .min_location_failed(1)
53 .no_screenshot(true)
54 .retry(
55 SyntheticsTestOptionsRetry::new()
56 .count(2)
57 .interval(10.0 as f64),
58 )
59 .rum_settings(
60 SyntheticsBrowserTestRumSettings::new(true)
61 .application_id("mockApplicationId".to_string())
62 .client_token_id(12345),
63 )
64 .tick_every(300),
65 SyntheticsBrowserTestType::BROWSER,
66 )
67 .steps(vec![SyntheticsStep::new()
68 .allow_failure(false)
69 .is_critical(true)
70 .name("Refresh page".to_string())
71 .params(BTreeMap::new())
72 .type_(SyntheticsStepType::REFRESH)])
73 .tags(vec!["testing:browser".to_string()]);
74 let configuration = datadog::Configuration::new();
75 let api = SyntheticsAPI::with_config(configuration);
76 let resp = api.create_synthetics_browser_test(body).await;
77 if let Ok(value) = resp {
78 println!("{:#?}", value);
79 } else {
80 println!("{:#?}", resp.unwrap_err());
81 }
82}
19async fn main() {
20 let body = SyntheticsAPITest::new(
21 SyntheticsAPITestConfig::new()
22 .assertions(vec![
23 SyntheticsAssertion::SyntheticsAssertionTarget(Box::new(
24 SyntheticsAssertionTarget::new(
25 SyntheticsAssertionOperator::IS,
26 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueString(
27 "message".to_string(),
28 ),
29 SyntheticsAssertionType::RECEIVED_MESSAGE,
30 ),
31 )),
32 SyntheticsAssertion::SyntheticsAssertionTarget(Box::new(
33 SyntheticsAssertionTarget::new(
34 SyntheticsAssertionOperator::LESS_THAN,
35 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueNumber(
36 2000.0 as f64,
37 ),
38 SyntheticsAssertionType::RESPONSE_TIME,
39 ),
40 )),
41 ])
42 .config_variables(vec![])
43 .request(
44 SyntheticsTestRequest::new()
45 .message("message".to_string())
46 .url("ws://datadoghq.com".to_string()),
47 ),
48 vec!["aws:us-east-2".to_string()],
49 "BDD test payload: synthetics_api_test_websocket_payload.json".to_string(),
50 "Example-Synthetic".to_string(),
51 SyntheticsTestOptions::new()
52 .accept_self_signed(false)
53 .allow_insecure(true)
54 .follow_redirects(true)
55 .min_failure_duration(10)
56 .min_location_failed(1)
57 .monitor_name("Example-Synthetic".to_string())
58 .monitor_priority(5)
59 .retry(
60 SyntheticsTestOptionsRetry::new()
61 .count(3)
62 .interval(10.0 as f64),
63 )
64 .tick_every(60),
65 SyntheticsAPITestType::API,
66 )
67 .subtype(SyntheticsTestDetailsSubType::WEBSOCKET)
68 .tags(vec!["testing:api".to_string()]);
69 let configuration = datadog::Configuration::new();
70 let api = SyntheticsAPI::with_config(configuration);
71 let resp = api.create_synthetics_api_test(body).await;
72 if let Ok(value) = resp {
73 println!("{:#?}", value);
74 } else {
75 println!("{:#?}", resp.unwrap_err());
76 }
77}
20async fn main() {
21 let body = SyntheticsBrowserTest::new(
22 SyntheticsBrowserTestConfig::new(
23 vec![],
24 SyntheticsTestRequest::new()
25 .method("GET".to_string())
26 .url("https://datadoghq.com".to_string()),
27 )
28 .config_variables(vec![SyntheticsConfigVariable::new(
29 "PROPERTY".to_string(),
30 SyntheticsConfigVariableType::TEXT,
31 )
32 .example("content-type".to_string())
33 .pattern("content-type".to_string())])
34 .set_cookie("name:test".to_string()),
35 vec!["aws:us-east-2".to_string()],
36 "Test message".to_string(),
37 "Example-Synthetic".to_string(),
38 SyntheticsTestOptions::new()
39 .accept_self_signed(false)
40 .allow_insecure(true)
41 .device_ids(vec!["tablet".to_string()])
42 .disable_cors(true)
43 .follow_redirects(true)
44 .min_failure_duration(10)
45 .min_location_failed(1)
46 .no_screenshot(true)
47 .retry(
48 SyntheticsTestOptionsRetry::new()
49 .count(2)
50 .interval(10.0 as f64),
51 )
52 .scheduling(SyntheticsTestOptionsScheduling::new(
53 vec![
54 SyntheticsTestOptionsSchedulingTimeframe::new(
55 1,
56 "07:00".to_string(),
57 "16:00".to_string(),
58 ),
59 SyntheticsTestOptionsSchedulingTimeframe::new(
60 3,
61 "07:00".to_string(),
62 "16:00".to_string(),
63 ),
64 ],
65 "America/New_York".to_string(),
66 ))
67 .tick_every(300),
68 SyntheticsBrowserTestType::BROWSER,
69 )
70 .steps(vec![SyntheticsStep::new()
71 .allow_failure(false)
72 .is_critical(true)
73 .name("Refresh page".to_string())
74 .params(BTreeMap::new())
75 .type_(SyntheticsStepType::REFRESH)])
76 .tags(vec!["testing:browser".to_string()]);
77 let configuration = datadog::Configuration::new();
78 let api = SyntheticsAPI::with_config(configuration);
79 let resp = api.create_synthetics_browser_test(body).await;
80 if let Ok(value) = resp {
81 println!("{:#?}", value);
82 } else {
83 println!("{:#?}", resp.unwrap_err());
84 }
85}
20async fn main() {
21 let body = SyntheticsAPITest::new(
22 SyntheticsAPITestConfig::new()
23 .assertions(vec![
24 SyntheticsAssertion::SyntheticsAssertionTarget(Box::new(
25 SyntheticsAssertionTarget::new(
26 SyntheticsAssertionOperator::IS,
27 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueString(
28 "message".to_string(),
29 ),
30 SyntheticsAssertionType::RECEIVED_MESSAGE,
31 ),
32 )),
33 SyntheticsAssertion::SyntheticsAssertionTarget(Box::new(
34 SyntheticsAssertionTarget::new(
35 SyntheticsAssertionOperator::LESS_THAN,
36 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueNumber(
37 2000.0 as f64,
38 ),
39 SyntheticsAssertionType::RESPONSE_TIME,
40 ),
41 )),
42 ])
43 .config_variables(vec![])
44 .request(
45 SyntheticsTestRequest::new()
46 .host("https://datadoghq.com".to_string())
47 .message("message".to_string())
48 .port(SyntheticsTestRequestPort::SyntheticsTestRequestNumericalPort(443)),
49 ),
50 vec!["aws:us-east-2".to_string()],
51 "BDD test payload: synthetics_api_test_udp_payload.json".to_string(),
52 "Example-Synthetic".to_string(),
53 SyntheticsTestOptions::new()
54 .accept_self_signed(false)
55 .allow_insecure(true)
56 .follow_redirects(true)
57 .min_failure_duration(10)
58 .min_location_failed(1)
59 .monitor_name("Example-Synthetic".to_string())
60 .monitor_priority(5)
61 .retry(
62 SyntheticsTestOptionsRetry::new()
63 .count(3)
64 .interval(10.0 as f64),
65 )
66 .tick_every(60),
67 SyntheticsAPITestType::API,
68 )
69 .subtype(SyntheticsTestDetailsSubType::UDP)
70 .tags(vec!["testing:api".to_string()]);
71 let configuration = datadog::Configuration::new();
72 let api = SyntheticsAPI::with_config(configuration);
73 let resp = api.create_synthetics_api_test(body).await;
74 if let Ok(value) = resp {
75 println!("{:#?}", value);
76 } else {
77 println!("{:#?}", resp.unwrap_err());
78 }
79}
- examples/v1_synthetics_UpdateAPITest.rs
- examples/v1_synthetics_CreateSyntheticsAPITest_1241981394.rs
- examples/v1_synthetics_CreateSyntheticsAPITest_960766374.rs
- examples/v1_synthetics_CreateSyntheticsAPITest_1487281163.rs
- examples/v1_synthetics_CreateSyntheticsAPITest_1987645492.rs
- examples/v1_synthetics_CreateSyntheticsAPITest_1279271422.rs
Sourcepub fn allow_insecure(self, value: bool) -> Self
pub fn allow_insecure(self, value: bool) -> Self
Examples found in repository?
19async fn main() {
20 let body = SyntheticsBrowserTest::new(
21 SyntheticsBrowserTestConfig::new(
22 vec![],
23 SyntheticsTestRequest::new()
24 .method("GET".to_string())
25 .url("https://datadoghq.com".to_string()),
26 )
27 .config_variables(vec![SyntheticsConfigVariable::new(
28 "PROPERTY".to_string(),
29 SyntheticsConfigVariableType::TEXT,
30 )
31 .example("content-type".to_string())
32 .pattern("content-type".to_string())
33 .secure(true)])
34 .set_cookie("name:test".to_string())
35 .variables(vec![SyntheticsBrowserVariable::new(
36 "TEST_VARIABLE".to_string(),
37 SyntheticsBrowserVariableType::TEXT,
38 )
39 .example("secret".to_string())
40 .pattern("secret".to_string())
41 .secure(true)]),
42 vec!["aws:us-east-2".to_string()],
43 "Test message".to_string(),
44 "Example-Synthetic".to_string(),
45 SyntheticsTestOptions::new()
46 .accept_self_signed(false)
47 .allow_insecure(true)
48 .device_ids(vec!["chrome.laptop_large".to_string()])
49 .disable_cors(true)
50 .enable_profiling(true)
51 .enable_security_testing(true)
52 .follow_redirects(true)
53 .min_failure_duration(10)
54 .min_location_failed(1)
55 .no_screenshot(true)
56 .retry(
57 SyntheticsTestOptionsRetry::new()
58 .count(2)
59 .interval(10.0 as f64),
60 )
61 .tick_every(300),
62 SyntheticsBrowserTestType::BROWSER,
63 )
64 .steps(vec![SyntheticsStep::new()
65 .allow_failure(false)
66 .always_execute(true)
67 .exit_if_succeed(true)
68 .is_critical(true)
69 .name("Refresh page".to_string())
70 .params(BTreeMap::new())
71 .type_(SyntheticsStepType::REFRESH)])
72 .tags(vec!["testing:browser".to_string()]);
73 let configuration = datadog::Configuration::new();
74 let api = SyntheticsAPI::with_config(configuration);
75 let resp = api.create_synthetics_browser_test(body).await;
76 if let Ok(value) = resp {
77 println!("{:#?}", value);
78 } else {
79 println!("{:#?}", resp.unwrap_err());
80 }
81}
More examples
20async fn main() {
21 let body = SyntheticsBrowserTest::new(
22 SyntheticsBrowserTestConfig::new(
23 vec![],
24 SyntheticsTestRequest::new()
25 .certificate_domains(vec!["https://datadoghq.com".to_string()])
26 .method("GET".to_string())
27 .url("https://datadoghq.com".to_string()),
28 )
29 .config_variables(vec![SyntheticsConfigVariable::new(
30 "PROPERTY".to_string(),
31 SyntheticsConfigVariableType::TEXT,
32 )
33 .example("content-type".to_string())
34 .pattern("content-type".to_string())])
35 .set_cookie("name:test".to_string()),
36 vec!["aws:us-east-2".to_string()],
37 "Test message".to_string(),
38 "Example-Synthetic".to_string(),
39 SyntheticsTestOptions::new()
40 .accept_self_signed(false)
41 .allow_insecure(true)
42 .ci(SyntheticsTestCiOptions::new(
43 SyntheticsTestExecutionRule::SKIPPED,
44 ))
45 .device_ids(vec!["tablet".to_string()])
46 .disable_cors(true)
47 .disable_csp(true)
48 .follow_redirects(true)
49 .ignore_server_certificate_error(true)
50 .initial_navigation_timeout(200)
51 .min_failure_duration(10)
52 .min_location_failed(1)
53 .no_screenshot(true)
54 .retry(
55 SyntheticsTestOptionsRetry::new()
56 .count(2)
57 .interval(10.0 as f64),
58 )
59 .rum_settings(
60 SyntheticsBrowserTestRumSettings::new(true)
61 .application_id("mockApplicationId".to_string())
62 .client_token_id(12345),
63 )
64 .tick_every(300),
65 SyntheticsBrowserTestType::BROWSER,
66 )
67 .steps(vec![SyntheticsStep::new()
68 .allow_failure(false)
69 .is_critical(true)
70 .name("Refresh page".to_string())
71 .params(BTreeMap::new())
72 .type_(SyntheticsStepType::REFRESH)])
73 .tags(vec!["testing:browser".to_string()]);
74 let configuration = datadog::Configuration::new();
75 let api = SyntheticsAPI::with_config(configuration);
76 let resp = api.create_synthetics_browser_test(body).await;
77 if let Ok(value) = resp {
78 println!("{:#?}", value);
79 } else {
80 println!("{:#?}", resp.unwrap_err());
81 }
82}
19async fn main() {
20 let body = SyntheticsAPITest::new(
21 SyntheticsAPITestConfig::new()
22 .assertions(vec![
23 SyntheticsAssertion::SyntheticsAssertionTarget(Box::new(
24 SyntheticsAssertionTarget::new(
25 SyntheticsAssertionOperator::IS,
26 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueString(
27 "message".to_string(),
28 ),
29 SyntheticsAssertionType::RECEIVED_MESSAGE,
30 ),
31 )),
32 SyntheticsAssertion::SyntheticsAssertionTarget(Box::new(
33 SyntheticsAssertionTarget::new(
34 SyntheticsAssertionOperator::LESS_THAN,
35 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueNumber(
36 2000.0 as f64,
37 ),
38 SyntheticsAssertionType::RESPONSE_TIME,
39 ),
40 )),
41 ])
42 .config_variables(vec![])
43 .request(
44 SyntheticsTestRequest::new()
45 .message("message".to_string())
46 .url("ws://datadoghq.com".to_string()),
47 ),
48 vec!["aws:us-east-2".to_string()],
49 "BDD test payload: synthetics_api_test_websocket_payload.json".to_string(),
50 "Example-Synthetic".to_string(),
51 SyntheticsTestOptions::new()
52 .accept_self_signed(false)
53 .allow_insecure(true)
54 .follow_redirects(true)
55 .min_failure_duration(10)
56 .min_location_failed(1)
57 .monitor_name("Example-Synthetic".to_string())
58 .monitor_priority(5)
59 .retry(
60 SyntheticsTestOptionsRetry::new()
61 .count(3)
62 .interval(10.0 as f64),
63 )
64 .tick_every(60),
65 SyntheticsAPITestType::API,
66 )
67 .subtype(SyntheticsTestDetailsSubType::WEBSOCKET)
68 .tags(vec!["testing:api".to_string()]);
69 let configuration = datadog::Configuration::new();
70 let api = SyntheticsAPI::with_config(configuration);
71 let resp = api.create_synthetics_api_test(body).await;
72 if let Ok(value) = resp {
73 println!("{:#?}", value);
74 } else {
75 println!("{:#?}", resp.unwrap_err());
76 }
77}
20async fn main() {
21 let body = SyntheticsBrowserTest::new(
22 SyntheticsBrowserTestConfig::new(
23 vec![],
24 SyntheticsTestRequest::new()
25 .method("GET".to_string())
26 .url("https://datadoghq.com".to_string()),
27 )
28 .config_variables(vec![SyntheticsConfigVariable::new(
29 "PROPERTY".to_string(),
30 SyntheticsConfigVariableType::TEXT,
31 )
32 .example("content-type".to_string())
33 .pattern("content-type".to_string())])
34 .set_cookie("name:test".to_string()),
35 vec!["aws:us-east-2".to_string()],
36 "Test message".to_string(),
37 "Example-Synthetic".to_string(),
38 SyntheticsTestOptions::new()
39 .accept_self_signed(false)
40 .allow_insecure(true)
41 .device_ids(vec!["tablet".to_string()])
42 .disable_cors(true)
43 .follow_redirects(true)
44 .min_failure_duration(10)
45 .min_location_failed(1)
46 .no_screenshot(true)
47 .retry(
48 SyntheticsTestOptionsRetry::new()
49 .count(2)
50 .interval(10.0 as f64),
51 )
52 .scheduling(SyntheticsTestOptionsScheduling::new(
53 vec![
54 SyntheticsTestOptionsSchedulingTimeframe::new(
55 1,
56 "07:00".to_string(),
57 "16:00".to_string(),
58 ),
59 SyntheticsTestOptionsSchedulingTimeframe::new(
60 3,
61 "07:00".to_string(),
62 "16:00".to_string(),
63 ),
64 ],
65 "America/New_York".to_string(),
66 ))
67 .tick_every(300),
68 SyntheticsBrowserTestType::BROWSER,
69 )
70 .steps(vec![SyntheticsStep::new()
71 .allow_failure(false)
72 .is_critical(true)
73 .name("Refresh page".to_string())
74 .params(BTreeMap::new())
75 .type_(SyntheticsStepType::REFRESH)])
76 .tags(vec!["testing:browser".to_string()]);
77 let configuration = datadog::Configuration::new();
78 let api = SyntheticsAPI::with_config(configuration);
79 let resp = api.create_synthetics_browser_test(body).await;
80 if let Ok(value) = resp {
81 println!("{:#?}", value);
82 } else {
83 println!("{:#?}", resp.unwrap_err());
84 }
85}
20async fn main() {
21 let body = SyntheticsAPITest::new(
22 SyntheticsAPITestConfig::new()
23 .assertions(vec![
24 SyntheticsAssertion::SyntheticsAssertionTarget(Box::new(
25 SyntheticsAssertionTarget::new(
26 SyntheticsAssertionOperator::IS,
27 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueString(
28 "message".to_string(),
29 ),
30 SyntheticsAssertionType::RECEIVED_MESSAGE,
31 ),
32 )),
33 SyntheticsAssertion::SyntheticsAssertionTarget(Box::new(
34 SyntheticsAssertionTarget::new(
35 SyntheticsAssertionOperator::LESS_THAN,
36 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueNumber(
37 2000.0 as f64,
38 ),
39 SyntheticsAssertionType::RESPONSE_TIME,
40 ),
41 )),
42 ])
43 .config_variables(vec![])
44 .request(
45 SyntheticsTestRequest::new()
46 .host("https://datadoghq.com".to_string())
47 .message("message".to_string())
48 .port(SyntheticsTestRequestPort::SyntheticsTestRequestNumericalPort(443)),
49 ),
50 vec!["aws:us-east-2".to_string()],
51 "BDD test payload: synthetics_api_test_udp_payload.json".to_string(),
52 "Example-Synthetic".to_string(),
53 SyntheticsTestOptions::new()
54 .accept_self_signed(false)
55 .allow_insecure(true)
56 .follow_redirects(true)
57 .min_failure_duration(10)
58 .min_location_failed(1)
59 .monitor_name("Example-Synthetic".to_string())
60 .monitor_priority(5)
61 .retry(
62 SyntheticsTestOptionsRetry::new()
63 .count(3)
64 .interval(10.0 as f64),
65 )
66 .tick_every(60),
67 SyntheticsAPITestType::API,
68 )
69 .subtype(SyntheticsTestDetailsSubType::UDP)
70 .tags(vec!["testing:api".to_string()]);
71 let configuration = datadog::Configuration::new();
72 let api = SyntheticsAPI::with_config(configuration);
73 let resp = api.create_synthetics_api_test(body).await;
74 if let Ok(value) = resp {
75 println!("{:#?}", value);
76 } else {
77 println!("{:#?}", resp.unwrap_err());
78 }
79}
31async fn main() {
32 // there is a valid "synthetics_api_test" in the system
33 let synthetics_api_test_public_id = std::env::var("SYNTHETICS_API_TEST_PUBLIC_ID").unwrap();
34 let body =
35 SyntheticsAPITest::new(
36 SyntheticsAPITestConfig::new()
37 .assertions(
38 vec![
39 SyntheticsAssertion::SyntheticsAssertionTarget(
40 Box::new(
41 SyntheticsAssertionTarget::new(
42 SyntheticsAssertionOperator::IS,
43 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueString(
44 "text/html".to_string(),
45 ),
46 SyntheticsAssertionType::HEADER,
47 ).property("{{ PROPERTY }}".to_string()),
48 ),
49 ),
50 SyntheticsAssertion::SyntheticsAssertionTarget(
51 Box::new(
52 SyntheticsAssertionTarget::new(
53 SyntheticsAssertionOperator::LESS_THAN,
54 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueNumber(
55 2000.0 as f64,
56 ),
57 SyntheticsAssertionType::RESPONSE_TIME,
58 ),
59 ),
60 ),
61 SyntheticsAssertion::SyntheticsAssertionJSONPathTarget(
62 Box::new(
63 SyntheticsAssertionJSONPathTarget::new(
64 SyntheticsAssertionJSONPathOperator::VALIDATES_JSON_PATH,
65 SyntheticsAssertionType::BODY,
66 ).target(
67 SyntheticsAssertionJSONPathTargetTarget::new()
68 .json_path("topKey".to_string())
69 .operator("isNot".to_string())
70 .target_value(
71 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueString(
72 "0".to_string(),
73 ),
74 ),
75 ),
76 ),
77 ),
78 SyntheticsAssertion::SyntheticsAssertionJSONSchemaTarget(
79 Box::new(
80 SyntheticsAssertionJSONSchemaTarget::new(
81 SyntheticsAssertionJSONSchemaOperator::VALIDATES_JSON_SCHEMA,
82 SyntheticsAssertionType::BODY,
83 ).target(
84 SyntheticsAssertionJSONSchemaTargetTarget::new()
85 .json_schema(
86 r#"{"type": "object", "properties":{"slideshow":{"type":"object"}}}"#.to_string(),
87 )
88 .meta_schema(SyntheticsAssertionJSONSchemaMetaSchema::DRAFT_07),
89 ),
90 ),
91 )
92 ],
93 )
94 .config_variables(
95 vec![
96 SyntheticsConfigVariable::new("PROPERTY".to_string(), SyntheticsConfigVariableType::TEXT)
97 .example("content-type".to_string())
98 .pattern("content-type".to_string())
99 ],
100 )
101 .request(
102 SyntheticsTestRequest::new()
103 .certificate(
104 SyntheticsTestRequestCertificate::new()
105 .cert(
106 SyntheticsTestRequestCertificateItem::new()
107 .filename("cert-filename".to_string())
108 .updated_at("2020-10-16T09:23:24.857Z".to_string()),
109 )
110 .key(
111 SyntheticsTestRequestCertificateItem::new()
112 .filename("key-filename".to_string())
113 .updated_at("2020-10-16T09:23:24.857Z".to_string()),
114 ),
115 )
116 .headers(BTreeMap::from([("unique".to_string(), "examplesynthetic".to_string())]))
117 .method("GET".to_string())
118 .timeout(10.0 as f64)
119 .url("https://datadoghq.com".to_string()),
120 ),
121 vec!["aws:us-east-2".to_string()],
122 "BDD test payload: synthetics_api_test_payload.json".to_string(),
123 "Example-Synthetic-updated".to_string(),
124 SyntheticsTestOptions::new()
125 .accept_self_signed(false)
126 .allow_insecure(true)
127 .follow_redirects(true)
128 .min_failure_duration(10)
129 .min_location_failed(1)
130 .monitor_name("Test-TestSyntheticsAPITestLifecycle-1623076664".to_string())
131 .monitor_priority(5)
132 .retry(SyntheticsTestOptionsRetry::new().count(3).interval(10.0 as f64))
133 .tick_every(60),
134 SyntheticsAPITestType::API,
135 )
136 .status(SyntheticsTestPauseStatus::LIVE)
137 .subtype(SyntheticsTestDetailsSubType::HTTP)
138 .tags(vec!["testing:api".to_string()]);
139 let configuration = datadog::Configuration::new();
140 let api = SyntheticsAPI::with_config(configuration);
141 let resp = api
142 .update_api_test(synthetics_api_test_public_id.clone(), body)
143 .await;
144 if let Ok(value) = resp {
145 println!("{:#?}", value);
146 } else {
147 println!("{:#?}", resp.unwrap_err());
148 }
149}
Sourcepub fn check_certificate_revocation(self, value: bool) -> Self
pub fn check_certificate_revocation(self, value: bool) -> Self
Examples found in repository?
18async fn main() {
19 let body = SyntheticsAPITest::new(
20 SyntheticsAPITestConfig::new()
21 .assertions(vec![SyntheticsAssertion::SyntheticsAssertionTarget(
22 Box::new(SyntheticsAssertionTarget::new(
23 SyntheticsAssertionOperator::IS_IN_MORE_DAYS_THAN,
24 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueNumber(
25 10.0 as f64,
26 ),
27 SyntheticsAssertionType::CERTIFICATE,
28 )),
29 )])
30 .request(
31 SyntheticsTestRequest::new()
32 .host("datadoghq.com".to_string())
33 .port(
34 SyntheticsTestRequestPort::SyntheticsTestRequestVariablePort(
35 "{{ DATADOG_PORT }}".to_string(),
36 ),
37 ),
38 ),
39 vec!["aws:us-east-2".to_string()],
40 "BDD test payload: synthetics_api_ssl_test_payload.json".to_string(),
41 "Example-Synthetic".to_string(),
42 SyntheticsTestOptions::new()
43 .accept_self_signed(true)
44 .check_certificate_revocation(true)
45 .tick_every(60),
46 SyntheticsAPITestType::API,
47 )
48 .subtype(SyntheticsTestDetailsSubType::SSL)
49 .tags(vec!["testing:api".to_string()]);
50 let configuration = datadog::Configuration::new();
51 let api = SyntheticsAPI::with_config(configuration);
52 let resp = api.create_synthetics_api_test(body).await;
53 if let Ok(value) = resp {
54 println!("{:#?}", value);
55 } else {
56 println!("{:#?}", resp.unwrap_err());
57 }
58}
Sourcepub fn ci(self, value: SyntheticsTestCiOptions) -> Self
pub fn ci(self, value: SyntheticsTestCiOptions) -> Self
Examples found in repository?
20async fn main() {
21 let body = SyntheticsBrowserTest::new(
22 SyntheticsBrowserTestConfig::new(
23 vec![],
24 SyntheticsTestRequest::new()
25 .certificate_domains(vec!["https://datadoghq.com".to_string()])
26 .method("GET".to_string())
27 .url("https://datadoghq.com".to_string()),
28 )
29 .config_variables(vec![SyntheticsConfigVariable::new(
30 "PROPERTY".to_string(),
31 SyntheticsConfigVariableType::TEXT,
32 )
33 .example("content-type".to_string())
34 .pattern("content-type".to_string())])
35 .set_cookie("name:test".to_string()),
36 vec!["aws:us-east-2".to_string()],
37 "Test message".to_string(),
38 "Example-Synthetic".to_string(),
39 SyntheticsTestOptions::new()
40 .accept_self_signed(false)
41 .allow_insecure(true)
42 .ci(SyntheticsTestCiOptions::new(
43 SyntheticsTestExecutionRule::SKIPPED,
44 ))
45 .device_ids(vec!["tablet".to_string()])
46 .disable_cors(true)
47 .disable_csp(true)
48 .follow_redirects(true)
49 .ignore_server_certificate_error(true)
50 .initial_navigation_timeout(200)
51 .min_failure_duration(10)
52 .min_location_failed(1)
53 .no_screenshot(true)
54 .retry(
55 SyntheticsTestOptionsRetry::new()
56 .count(2)
57 .interval(10.0 as f64),
58 )
59 .rum_settings(
60 SyntheticsBrowserTestRumSettings::new(true)
61 .application_id("mockApplicationId".to_string())
62 .client_token_id(12345),
63 )
64 .tick_every(300),
65 SyntheticsBrowserTestType::BROWSER,
66 )
67 .steps(vec![SyntheticsStep::new()
68 .allow_failure(false)
69 .is_critical(true)
70 .name("Refresh page".to_string())
71 .params(BTreeMap::new())
72 .type_(SyntheticsStepType::REFRESH)])
73 .tags(vec!["testing:browser".to_string()]);
74 let configuration = datadog::Configuration::new();
75 let api = SyntheticsAPI::with_config(configuration);
76 let resp = api.create_synthetics_browser_test(body).await;
77 if let Ok(value) = resp {
78 println!("{:#?}", value);
79 } else {
80 println!("{:#?}", resp.unwrap_err());
81 }
82}
More examples
27async fn main() {
28 let body = SyntheticsAPITest::new(
29 SyntheticsAPITestConfig::new()
30 .assertions(vec![SyntheticsAssertion::SyntheticsAssertionTarget(
31 Box::new(SyntheticsAssertionTarget::new(
32 SyntheticsAssertionOperator::LESS_THAN,
33 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueNumber(
34 1000.0 as f64,
35 ),
36 SyntheticsAssertionType::RESPONSE_TIME,
37 )),
38 )])
39 .request(
40 SyntheticsTestRequest::new()
41 .method("GET".to_string())
42 .url("https://example.com".to_string()),
43 ),
44 vec!["aws:eu-west-3".to_string()],
45 "Notification message".to_string(),
46 "Example test name".to_string(),
47 SyntheticsTestOptions::new()
48 .ci(SyntheticsTestCiOptions::new(
49 SyntheticsTestExecutionRule::BLOCKING,
50 ))
51 .device_ids(vec!["chrome.laptop_large".to_string()])
52 .http_version(SyntheticsTestOptionsHTTPVersion::HTTP1)
53 .monitor_options(
54 SyntheticsTestOptionsMonitorOptions::new().notification_preset_name(
55 SyntheticsTestOptionsMonitorOptionsNotificationPresetName::SHOW_ALL,
56 ),
57 )
58 .restricted_roles(vec!["xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx".to_string()])
59 .retry(SyntheticsTestOptionsRetry::new())
60 .rum_settings(
61 SyntheticsBrowserTestRumSettings::new(true)
62 .application_id("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx".to_string())
63 .client_token_id(12345),
64 )
65 .scheduling(SyntheticsTestOptionsScheduling::new(
66 vec![
67 SyntheticsTestOptionsSchedulingTimeframe::new(
68 1,
69 "07:00".to_string(),
70 "16:00".to_string(),
71 ),
72 SyntheticsTestOptionsSchedulingTimeframe::new(
73 3,
74 "07:00".to_string(),
75 "16:00".to_string(),
76 ),
77 ],
78 "America/New_York".to_string(),
79 )),
80 SyntheticsAPITestType::API,
81 )
82 .status(SyntheticsTestPauseStatus::LIVE)
83 .subtype(SyntheticsTestDetailsSubType::HTTP)
84 .tags(vec!["env:production".to_string()]);
85 let configuration = datadog::Configuration::new();
86 let api = SyntheticsAPI::with_config(configuration);
87 let resp = api.create_synthetics_api_test(body).await;
88 if let Ok(value) = resp {
89 println!("{:#?}", value);
90 } else {
91 println!("{:#?}", resp.unwrap_err());
92 }
93}
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}
Sourcepub fn device_ids(self, value: Vec<String>) -> Self
pub fn device_ids(self, value: Vec<String>) -> Self
Examples found in repository?
19async fn main() {
20 let body = SyntheticsBrowserTest::new(
21 SyntheticsBrowserTestConfig::new(
22 vec![],
23 SyntheticsTestRequest::new()
24 .method("GET".to_string())
25 .url("https://datadoghq.com".to_string()),
26 )
27 .config_variables(vec![SyntheticsConfigVariable::new(
28 "PROPERTY".to_string(),
29 SyntheticsConfigVariableType::TEXT,
30 )
31 .example("content-type".to_string())
32 .pattern("content-type".to_string())
33 .secure(true)])
34 .set_cookie("name:test".to_string())
35 .variables(vec![SyntheticsBrowserVariable::new(
36 "TEST_VARIABLE".to_string(),
37 SyntheticsBrowserVariableType::TEXT,
38 )
39 .example("secret".to_string())
40 .pattern("secret".to_string())
41 .secure(true)]),
42 vec!["aws:us-east-2".to_string()],
43 "Test message".to_string(),
44 "Example-Synthetic".to_string(),
45 SyntheticsTestOptions::new()
46 .accept_self_signed(false)
47 .allow_insecure(true)
48 .device_ids(vec!["chrome.laptop_large".to_string()])
49 .disable_cors(true)
50 .enable_profiling(true)
51 .enable_security_testing(true)
52 .follow_redirects(true)
53 .min_failure_duration(10)
54 .min_location_failed(1)
55 .no_screenshot(true)
56 .retry(
57 SyntheticsTestOptionsRetry::new()
58 .count(2)
59 .interval(10.0 as f64),
60 )
61 .tick_every(300),
62 SyntheticsBrowserTestType::BROWSER,
63 )
64 .steps(vec![SyntheticsStep::new()
65 .allow_failure(false)
66 .always_execute(true)
67 .exit_if_succeed(true)
68 .is_critical(true)
69 .name("Refresh page".to_string())
70 .params(BTreeMap::new())
71 .type_(SyntheticsStepType::REFRESH)])
72 .tags(vec!["testing:browser".to_string()]);
73 let configuration = datadog::Configuration::new();
74 let api = SyntheticsAPI::with_config(configuration);
75 let resp = api.create_synthetics_browser_test(body).await;
76 if let Ok(value) = resp {
77 println!("{:#?}", value);
78 } else {
79 println!("{:#?}", resp.unwrap_err());
80 }
81}
More examples
20async fn main() {
21 let body = SyntheticsBrowserTest::new(
22 SyntheticsBrowserTestConfig::new(
23 vec![],
24 SyntheticsTestRequest::new()
25 .certificate_domains(vec!["https://datadoghq.com".to_string()])
26 .method("GET".to_string())
27 .url("https://datadoghq.com".to_string()),
28 )
29 .config_variables(vec![SyntheticsConfigVariable::new(
30 "PROPERTY".to_string(),
31 SyntheticsConfigVariableType::TEXT,
32 )
33 .example("content-type".to_string())
34 .pattern("content-type".to_string())])
35 .set_cookie("name:test".to_string()),
36 vec!["aws:us-east-2".to_string()],
37 "Test message".to_string(),
38 "Example-Synthetic".to_string(),
39 SyntheticsTestOptions::new()
40 .accept_self_signed(false)
41 .allow_insecure(true)
42 .ci(SyntheticsTestCiOptions::new(
43 SyntheticsTestExecutionRule::SKIPPED,
44 ))
45 .device_ids(vec!["tablet".to_string()])
46 .disable_cors(true)
47 .disable_csp(true)
48 .follow_redirects(true)
49 .ignore_server_certificate_error(true)
50 .initial_navigation_timeout(200)
51 .min_failure_duration(10)
52 .min_location_failed(1)
53 .no_screenshot(true)
54 .retry(
55 SyntheticsTestOptionsRetry::new()
56 .count(2)
57 .interval(10.0 as f64),
58 )
59 .rum_settings(
60 SyntheticsBrowserTestRumSettings::new(true)
61 .application_id("mockApplicationId".to_string())
62 .client_token_id(12345),
63 )
64 .tick_every(300),
65 SyntheticsBrowserTestType::BROWSER,
66 )
67 .steps(vec![SyntheticsStep::new()
68 .allow_failure(false)
69 .is_critical(true)
70 .name("Refresh page".to_string())
71 .params(BTreeMap::new())
72 .type_(SyntheticsStepType::REFRESH)])
73 .tags(vec!["testing:browser".to_string()]);
74 let configuration = datadog::Configuration::new();
75 let api = SyntheticsAPI::with_config(configuration);
76 let resp = api.create_synthetics_browser_test(body).await;
77 if let Ok(value) = resp {
78 println!("{:#?}", value);
79 } else {
80 println!("{:#?}", resp.unwrap_err());
81 }
82}
20async fn main() {
21 let body = SyntheticsBrowserTest::new(
22 SyntheticsBrowserTestConfig::new(
23 vec![],
24 SyntheticsTestRequest::new()
25 .method("GET".to_string())
26 .url("https://datadoghq.com".to_string()),
27 )
28 .config_variables(vec![SyntheticsConfigVariable::new(
29 "PROPERTY".to_string(),
30 SyntheticsConfigVariableType::TEXT,
31 )
32 .example("content-type".to_string())
33 .pattern("content-type".to_string())])
34 .set_cookie("name:test".to_string()),
35 vec!["aws:us-east-2".to_string()],
36 "Test message".to_string(),
37 "Example-Synthetic".to_string(),
38 SyntheticsTestOptions::new()
39 .accept_self_signed(false)
40 .allow_insecure(true)
41 .device_ids(vec!["tablet".to_string()])
42 .disable_cors(true)
43 .follow_redirects(true)
44 .min_failure_duration(10)
45 .min_location_failed(1)
46 .no_screenshot(true)
47 .retry(
48 SyntheticsTestOptionsRetry::new()
49 .count(2)
50 .interval(10.0 as f64),
51 )
52 .scheduling(SyntheticsTestOptionsScheduling::new(
53 vec![
54 SyntheticsTestOptionsSchedulingTimeframe::new(
55 1,
56 "07:00".to_string(),
57 "16:00".to_string(),
58 ),
59 SyntheticsTestOptionsSchedulingTimeframe::new(
60 3,
61 "07:00".to_string(),
62 "16:00".to_string(),
63 ),
64 ],
65 "America/New_York".to_string(),
66 ))
67 .tick_every(300),
68 SyntheticsBrowserTestType::BROWSER,
69 )
70 .steps(vec![SyntheticsStep::new()
71 .allow_failure(false)
72 .is_critical(true)
73 .name("Refresh page".to_string())
74 .params(BTreeMap::new())
75 .type_(SyntheticsStepType::REFRESH)])
76 .tags(vec!["testing:browser".to_string()]);
77 let configuration = datadog::Configuration::new();
78 let api = SyntheticsAPI::with_config(configuration);
79 let resp = api.create_synthetics_browser_test(body).await;
80 if let Ok(value) = resp {
81 println!("{:#?}", value);
82 } else {
83 println!("{:#?}", resp.unwrap_err());
84 }
85}
27async fn main() {
28 let body = SyntheticsAPITest::new(
29 SyntheticsAPITestConfig::new()
30 .assertions(vec![SyntheticsAssertion::SyntheticsAssertionTarget(
31 Box::new(SyntheticsAssertionTarget::new(
32 SyntheticsAssertionOperator::LESS_THAN,
33 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueNumber(
34 1000.0 as f64,
35 ),
36 SyntheticsAssertionType::RESPONSE_TIME,
37 )),
38 )])
39 .request(
40 SyntheticsTestRequest::new()
41 .method("GET".to_string())
42 .url("https://example.com".to_string()),
43 ),
44 vec!["aws:eu-west-3".to_string()],
45 "Notification message".to_string(),
46 "Example test name".to_string(),
47 SyntheticsTestOptions::new()
48 .ci(SyntheticsTestCiOptions::new(
49 SyntheticsTestExecutionRule::BLOCKING,
50 ))
51 .device_ids(vec!["chrome.laptop_large".to_string()])
52 .http_version(SyntheticsTestOptionsHTTPVersion::HTTP1)
53 .monitor_options(
54 SyntheticsTestOptionsMonitorOptions::new().notification_preset_name(
55 SyntheticsTestOptionsMonitorOptionsNotificationPresetName::SHOW_ALL,
56 ),
57 )
58 .restricted_roles(vec!["xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx".to_string()])
59 .retry(SyntheticsTestOptionsRetry::new())
60 .rum_settings(
61 SyntheticsBrowserTestRumSettings::new(true)
62 .application_id("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx".to_string())
63 .client_token_id(12345),
64 )
65 .scheduling(SyntheticsTestOptionsScheduling::new(
66 vec![
67 SyntheticsTestOptionsSchedulingTimeframe::new(
68 1,
69 "07:00".to_string(),
70 "16:00".to_string(),
71 ),
72 SyntheticsTestOptionsSchedulingTimeframe::new(
73 3,
74 "07:00".to_string(),
75 "16:00".to_string(),
76 ),
77 ],
78 "America/New_York".to_string(),
79 )),
80 SyntheticsAPITestType::API,
81 )
82 .status(SyntheticsTestPauseStatus::LIVE)
83 .subtype(SyntheticsTestDetailsSubType::HTTP)
84 .tags(vec!["env:production".to_string()]);
85 let configuration = datadog::Configuration::new();
86 let api = SyntheticsAPI::with_config(configuration);
87 let resp = api.create_synthetics_api_test(body).await;
88 if let Ok(value) = resp {
89 println!("{:#?}", value);
90 } else {
91 println!("{:#?}", resp.unwrap_err());
92 }
93}
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}
Sourcepub fn disable_cors(self, value: bool) -> Self
pub fn disable_cors(self, value: bool) -> Self
Examples found in repository?
19async fn main() {
20 let body = SyntheticsBrowserTest::new(
21 SyntheticsBrowserTestConfig::new(
22 vec![],
23 SyntheticsTestRequest::new()
24 .method("GET".to_string())
25 .url("https://datadoghq.com".to_string()),
26 )
27 .config_variables(vec![SyntheticsConfigVariable::new(
28 "PROPERTY".to_string(),
29 SyntheticsConfigVariableType::TEXT,
30 )
31 .example("content-type".to_string())
32 .pattern("content-type".to_string())
33 .secure(true)])
34 .set_cookie("name:test".to_string())
35 .variables(vec![SyntheticsBrowserVariable::new(
36 "TEST_VARIABLE".to_string(),
37 SyntheticsBrowserVariableType::TEXT,
38 )
39 .example("secret".to_string())
40 .pattern("secret".to_string())
41 .secure(true)]),
42 vec!["aws:us-east-2".to_string()],
43 "Test message".to_string(),
44 "Example-Synthetic".to_string(),
45 SyntheticsTestOptions::new()
46 .accept_self_signed(false)
47 .allow_insecure(true)
48 .device_ids(vec!["chrome.laptop_large".to_string()])
49 .disable_cors(true)
50 .enable_profiling(true)
51 .enable_security_testing(true)
52 .follow_redirects(true)
53 .min_failure_duration(10)
54 .min_location_failed(1)
55 .no_screenshot(true)
56 .retry(
57 SyntheticsTestOptionsRetry::new()
58 .count(2)
59 .interval(10.0 as f64),
60 )
61 .tick_every(300),
62 SyntheticsBrowserTestType::BROWSER,
63 )
64 .steps(vec![SyntheticsStep::new()
65 .allow_failure(false)
66 .always_execute(true)
67 .exit_if_succeed(true)
68 .is_critical(true)
69 .name("Refresh page".to_string())
70 .params(BTreeMap::new())
71 .type_(SyntheticsStepType::REFRESH)])
72 .tags(vec!["testing:browser".to_string()]);
73 let configuration = datadog::Configuration::new();
74 let api = SyntheticsAPI::with_config(configuration);
75 let resp = api.create_synthetics_browser_test(body).await;
76 if let Ok(value) = resp {
77 println!("{:#?}", value);
78 } else {
79 println!("{:#?}", resp.unwrap_err());
80 }
81}
More examples
20async fn main() {
21 let body = SyntheticsBrowserTest::new(
22 SyntheticsBrowserTestConfig::new(
23 vec![],
24 SyntheticsTestRequest::new()
25 .certificate_domains(vec!["https://datadoghq.com".to_string()])
26 .method("GET".to_string())
27 .url("https://datadoghq.com".to_string()),
28 )
29 .config_variables(vec![SyntheticsConfigVariable::new(
30 "PROPERTY".to_string(),
31 SyntheticsConfigVariableType::TEXT,
32 )
33 .example("content-type".to_string())
34 .pattern("content-type".to_string())])
35 .set_cookie("name:test".to_string()),
36 vec!["aws:us-east-2".to_string()],
37 "Test message".to_string(),
38 "Example-Synthetic".to_string(),
39 SyntheticsTestOptions::new()
40 .accept_self_signed(false)
41 .allow_insecure(true)
42 .ci(SyntheticsTestCiOptions::new(
43 SyntheticsTestExecutionRule::SKIPPED,
44 ))
45 .device_ids(vec!["tablet".to_string()])
46 .disable_cors(true)
47 .disable_csp(true)
48 .follow_redirects(true)
49 .ignore_server_certificate_error(true)
50 .initial_navigation_timeout(200)
51 .min_failure_duration(10)
52 .min_location_failed(1)
53 .no_screenshot(true)
54 .retry(
55 SyntheticsTestOptionsRetry::new()
56 .count(2)
57 .interval(10.0 as f64),
58 )
59 .rum_settings(
60 SyntheticsBrowserTestRumSettings::new(true)
61 .application_id("mockApplicationId".to_string())
62 .client_token_id(12345),
63 )
64 .tick_every(300),
65 SyntheticsBrowserTestType::BROWSER,
66 )
67 .steps(vec![SyntheticsStep::new()
68 .allow_failure(false)
69 .is_critical(true)
70 .name("Refresh page".to_string())
71 .params(BTreeMap::new())
72 .type_(SyntheticsStepType::REFRESH)])
73 .tags(vec!["testing:browser".to_string()]);
74 let configuration = datadog::Configuration::new();
75 let api = SyntheticsAPI::with_config(configuration);
76 let resp = api.create_synthetics_browser_test(body).await;
77 if let Ok(value) = resp {
78 println!("{:#?}", value);
79 } else {
80 println!("{:#?}", resp.unwrap_err());
81 }
82}
20async fn main() {
21 let body = SyntheticsBrowserTest::new(
22 SyntheticsBrowserTestConfig::new(
23 vec![],
24 SyntheticsTestRequest::new()
25 .method("GET".to_string())
26 .url("https://datadoghq.com".to_string()),
27 )
28 .config_variables(vec![SyntheticsConfigVariable::new(
29 "PROPERTY".to_string(),
30 SyntheticsConfigVariableType::TEXT,
31 )
32 .example("content-type".to_string())
33 .pattern("content-type".to_string())])
34 .set_cookie("name:test".to_string()),
35 vec!["aws:us-east-2".to_string()],
36 "Test message".to_string(),
37 "Example-Synthetic".to_string(),
38 SyntheticsTestOptions::new()
39 .accept_self_signed(false)
40 .allow_insecure(true)
41 .device_ids(vec!["tablet".to_string()])
42 .disable_cors(true)
43 .follow_redirects(true)
44 .min_failure_duration(10)
45 .min_location_failed(1)
46 .no_screenshot(true)
47 .retry(
48 SyntheticsTestOptionsRetry::new()
49 .count(2)
50 .interval(10.0 as f64),
51 )
52 .scheduling(SyntheticsTestOptionsScheduling::new(
53 vec![
54 SyntheticsTestOptionsSchedulingTimeframe::new(
55 1,
56 "07:00".to_string(),
57 "16:00".to_string(),
58 ),
59 SyntheticsTestOptionsSchedulingTimeframe::new(
60 3,
61 "07:00".to_string(),
62 "16:00".to_string(),
63 ),
64 ],
65 "America/New_York".to_string(),
66 ))
67 .tick_every(300),
68 SyntheticsBrowserTestType::BROWSER,
69 )
70 .steps(vec![SyntheticsStep::new()
71 .allow_failure(false)
72 .is_critical(true)
73 .name("Refresh page".to_string())
74 .params(BTreeMap::new())
75 .type_(SyntheticsStepType::REFRESH)])
76 .tags(vec!["testing:browser".to_string()]);
77 let configuration = datadog::Configuration::new();
78 let api = SyntheticsAPI::with_config(configuration);
79 let resp = api.create_synthetics_browser_test(body).await;
80 if let Ok(value) = resp {
81 println!("{:#?}", value);
82 } else {
83 println!("{:#?}", resp.unwrap_err());
84 }
85}
Sourcepub fn disable_csp(self, value: bool) -> Self
pub fn disable_csp(self, value: bool) -> Self
Examples found in repository?
20async fn main() {
21 let body = SyntheticsBrowserTest::new(
22 SyntheticsBrowserTestConfig::new(
23 vec![],
24 SyntheticsTestRequest::new()
25 .certificate_domains(vec!["https://datadoghq.com".to_string()])
26 .method("GET".to_string())
27 .url("https://datadoghq.com".to_string()),
28 )
29 .config_variables(vec![SyntheticsConfigVariable::new(
30 "PROPERTY".to_string(),
31 SyntheticsConfigVariableType::TEXT,
32 )
33 .example("content-type".to_string())
34 .pattern("content-type".to_string())])
35 .set_cookie("name:test".to_string()),
36 vec!["aws:us-east-2".to_string()],
37 "Test message".to_string(),
38 "Example-Synthetic".to_string(),
39 SyntheticsTestOptions::new()
40 .accept_self_signed(false)
41 .allow_insecure(true)
42 .ci(SyntheticsTestCiOptions::new(
43 SyntheticsTestExecutionRule::SKIPPED,
44 ))
45 .device_ids(vec!["tablet".to_string()])
46 .disable_cors(true)
47 .disable_csp(true)
48 .follow_redirects(true)
49 .ignore_server_certificate_error(true)
50 .initial_navigation_timeout(200)
51 .min_failure_duration(10)
52 .min_location_failed(1)
53 .no_screenshot(true)
54 .retry(
55 SyntheticsTestOptionsRetry::new()
56 .count(2)
57 .interval(10.0 as f64),
58 )
59 .rum_settings(
60 SyntheticsBrowserTestRumSettings::new(true)
61 .application_id("mockApplicationId".to_string())
62 .client_token_id(12345),
63 )
64 .tick_every(300),
65 SyntheticsBrowserTestType::BROWSER,
66 )
67 .steps(vec![SyntheticsStep::new()
68 .allow_failure(false)
69 .is_critical(true)
70 .name("Refresh page".to_string())
71 .params(BTreeMap::new())
72 .type_(SyntheticsStepType::REFRESH)])
73 .tags(vec!["testing:browser".to_string()]);
74 let configuration = datadog::Configuration::new();
75 let api = SyntheticsAPI::with_config(configuration);
76 let resp = api.create_synthetics_browser_test(body).await;
77 if let Ok(value) = resp {
78 println!("{:#?}", value);
79 } else {
80 println!("{:#?}", resp.unwrap_err());
81 }
82}
Sourcepub fn enable_profiling(self, value: bool) -> Self
pub fn enable_profiling(self, value: bool) -> Self
Examples found in repository?
19async fn main() {
20 let body = SyntheticsBrowserTest::new(
21 SyntheticsBrowserTestConfig::new(
22 vec![],
23 SyntheticsTestRequest::new()
24 .method("GET".to_string())
25 .url("https://datadoghq.com".to_string()),
26 )
27 .config_variables(vec![SyntheticsConfigVariable::new(
28 "PROPERTY".to_string(),
29 SyntheticsConfigVariableType::TEXT,
30 )
31 .example("content-type".to_string())
32 .pattern("content-type".to_string())
33 .secure(true)])
34 .set_cookie("name:test".to_string())
35 .variables(vec![SyntheticsBrowserVariable::new(
36 "TEST_VARIABLE".to_string(),
37 SyntheticsBrowserVariableType::TEXT,
38 )
39 .example("secret".to_string())
40 .pattern("secret".to_string())
41 .secure(true)]),
42 vec!["aws:us-east-2".to_string()],
43 "Test message".to_string(),
44 "Example-Synthetic".to_string(),
45 SyntheticsTestOptions::new()
46 .accept_self_signed(false)
47 .allow_insecure(true)
48 .device_ids(vec!["chrome.laptop_large".to_string()])
49 .disable_cors(true)
50 .enable_profiling(true)
51 .enable_security_testing(true)
52 .follow_redirects(true)
53 .min_failure_duration(10)
54 .min_location_failed(1)
55 .no_screenshot(true)
56 .retry(
57 SyntheticsTestOptionsRetry::new()
58 .count(2)
59 .interval(10.0 as f64),
60 )
61 .tick_every(300),
62 SyntheticsBrowserTestType::BROWSER,
63 )
64 .steps(vec![SyntheticsStep::new()
65 .allow_failure(false)
66 .always_execute(true)
67 .exit_if_succeed(true)
68 .is_critical(true)
69 .name("Refresh page".to_string())
70 .params(BTreeMap::new())
71 .type_(SyntheticsStepType::REFRESH)])
72 .tags(vec!["testing:browser".to_string()]);
73 let configuration = datadog::Configuration::new();
74 let api = SyntheticsAPI::with_config(configuration);
75 let resp = api.create_synthetics_browser_test(body).await;
76 if let Ok(value) = resp {
77 println!("{:#?}", value);
78 } else {
79 println!("{:#?}", resp.unwrap_err());
80 }
81}
Sourcepub fn enable_security_testing(self, value: bool) -> Self
pub fn enable_security_testing(self, value: bool) -> Self
Examples found in repository?
19async fn main() {
20 let body = SyntheticsBrowserTest::new(
21 SyntheticsBrowserTestConfig::new(
22 vec![],
23 SyntheticsTestRequest::new()
24 .method("GET".to_string())
25 .url("https://datadoghq.com".to_string()),
26 )
27 .config_variables(vec![SyntheticsConfigVariable::new(
28 "PROPERTY".to_string(),
29 SyntheticsConfigVariableType::TEXT,
30 )
31 .example("content-type".to_string())
32 .pattern("content-type".to_string())
33 .secure(true)])
34 .set_cookie("name:test".to_string())
35 .variables(vec![SyntheticsBrowserVariable::new(
36 "TEST_VARIABLE".to_string(),
37 SyntheticsBrowserVariableType::TEXT,
38 )
39 .example("secret".to_string())
40 .pattern("secret".to_string())
41 .secure(true)]),
42 vec!["aws:us-east-2".to_string()],
43 "Test message".to_string(),
44 "Example-Synthetic".to_string(),
45 SyntheticsTestOptions::new()
46 .accept_self_signed(false)
47 .allow_insecure(true)
48 .device_ids(vec!["chrome.laptop_large".to_string()])
49 .disable_cors(true)
50 .enable_profiling(true)
51 .enable_security_testing(true)
52 .follow_redirects(true)
53 .min_failure_duration(10)
54 .min_location_failed(1)
55 .no_screenshot(true)
56 .retry(
57 SyntheticsTestOptionsRetry::new()
58 .count(2)
59 .interval(10.0 as f64),
60 )
61 .tick_every(300),
62 SyntheticsBrowserTestType::BROWSER,
63 )
64 .steps(vec![SyntheticsStep::new()
65 .allow_failure(false)
66 .always_execute(true)
67 .exit_if_succeed(true)
68 .is_critical(true)
69 .name("Refresh page".to_string())
70 .params(BTreeMap::new())
71 .type_(SyntheticsStepType::REFRESH)])
72 .tags(vec!["testing:browser".to_string()]);
73 let configuration = datadog::Configuration::new();
74 let api = SyntheticsAPI::with_config(configuration);
75 let resp = api.create_synthetics_browser_test(body).await;
76 if let Ok(value) = resp {
77 println!("{:#?}", value);
78 } else {
79 println!("{:#?}", resp.unwrap_err());
80 }
81}
Sourcepub fn follow_redirects(self, value: bool) -> Self
pub fn follow_redirects(self, value: bool) -> Self
Examples found in repository?
19async fn main() {
20 let body = SyntheticsBrowserTest::new(
21 SyntheticsBrowserTestConfig::new(
22 vec![],
23 SyntheticsTestRequest::new()
24 .method("GET".to_string())
25 .url("https://datadoghq.com".to_string()),
26 )
27 .config_variables(vec![SyntheticsConfigVariable::new(
28 "PROPERTY".to_string(),
29 SyntheticsConfigVariableType::TEXT,
30 )
31 .example("content-type".to_string())
32 .pattern("content-type".to_string())
33 .secure(true)])
34 .set_cookie("name:test".to_string())
35 .variables(vec![SyntheticsBrowserVariable::new(
36 "TEST_VARIABLE".to_string(),
37 SyntheticsBrowserVariableType::TEXT,
38 )
39 .example("secret".to_string())
40 .pattern("secret".to_string())
41 .secure(true)]),
42 vec!["aws:us-east-2".to_string()],
43 "Test message".to_string(),
44 "Example-Synthetic".to_string(),
45 SyntheticsTestOptions::new()
46 .accept_self_signed(false)
47 .allow_insecure(true)
48 .device_ids(vec!["chrome.laptop_large".to_string()])
49 .disable_cors(true)
50 .enable_profiling(true)
51 .enable_security_testing(true)
52 .follow_redirects(true)
53 .min_failure_duration(10)
54 .min_location_failed(1)
55 .no_screenshot(true)
56 .retry(
57 SyntheticsTestOptionsRetry::new()
58 .count(2)
59 .interval(10.0 as f64),
60 )
61 .tick_every(300),
62 SyntheticsBrowserTestType::BROWSER,
63 )
64 .steps(vec![SyntheticsStep::new()
65 .allow_failure(false)
66 .always_execute(true)
67 .exit_if_succeed(true)
68 .is_critical(true)
69 .name("Refresh page".to_string())
70 .params(BTreeMap::new())
71 .type_(SyntheticsStepType::REFRESH)])
72 .tags(vec!["testing:browser".to_string()]);
73 let configuration = datadog::Configuration::new();
74 let api = SyntheticsAPI::with_config(configuration);
75 let resp = api.create_synthetics_browser_test(body).await;
76 if let Ok(value) = resp {
77 println!("{:#?}", value);
78 } else {
79 println!("{:#?}", resp.unwrap_err());
80 }
81}
More examples
20async fn main() {
21 let body = SyntheticsBrowserTest::new(
22 SyntheticsBrowserTestConfig::new(
23 vec![],
24 SyntheticsTestRequest::new()
25 .certificate_domains(vec!["https://datadoghq.com".to_string()])
26 .method("GET".to_string())
27 .url("https://datadoghq.com".to_string()),
28 )
29 .config_variables(vec![SyntheticsConfigVariable::new(
30 "PROPERTY".to_string(),
31 SyntheticsConfigVariableType::TEXT,
32 )
33 .example("content-type".to_string())
34 .pattern("content-type".to_string())])
35 .set_cookie("name:test".to_string()),
36 vec!["aws:us-east-2".to_string()],
37 "Test message".to_string(),
38 "Example-Synthetic".to_string(),
39 SyntheticsTestOptions::new()
40 .accept_self_signed(false)
41 .allow_insecure(true)
42 .ci(SyntheticsTestCiOptions::new(
43 SyntheticsTestExecutionRule::SKIPPED,
44 ))
45 .device_ids(vec!["tablet".to_string()])
46 .disable_cors(true)
47 .disable_csp(true)
48 .follow_redirects(true)
49 .ignore_server_certificate_error(true)
50 .initial_navigation_timeout(200)
51 .min_failure_duration(10)
52 .min_location_failed(1)
53 .no_screenshot(true)
54 .retry(
55 SyntheticsTestOptionsRetry::new()
56 .count(2)
57 .interval(10.0 as f64),
58 )
59 .rum_settings(
60 SyntheticsBrowserTestRumSettings::new(true)
61 .application_id("mockApplicationId".to_string())
62 .client_token_id(12345),
63 )
64 .tick_every(300),
65 SyntheticsBrowserTestType::BROWSER,
66 )
67 .steps(vec![SyntheticsStep::new()
68 .allow_failure(false)
69 .is_critical(true)
70 .name("Refresh page".to_string())
71 .params(BTreeMap::new())
72 .type_(SyntheticsStepType::REFRESH)])
73 .tags(vec!["testing:browser".to_string()]);
74 let configuration = datadog::Configuration::new();
75 let api = SyntheticsAPI::with_config(configuration);
76 let resp = api.create_synthetics_browser_test(body).await;
77 if let Ok(value) = resp {
78 println!("{:#?}", value);
79 } else {
80 println!("{:#?}", resp.unwrap_err());
81 }
82}
19async fn main() {
20 let body = SyntheticsAPITest::new(
21 SyntheticsAPITestConfig::new()
22 .assertions(vec![
23 SyntheticsAssertion::SyntheticsAssertionTarget(Box::new(
24 SyntheticsAssertionTarget::new(
25 SyntheticsAssertionOperator::IS,
26 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueString(
27 "message".to_string(),
28 ),
29 SyntheticsAssertionType::RECEIVED_MESSAGE,
30 ),
31 )),
32 SyntheticsAssertion::SyntheticsAssertionTarget(Box::new(
33 SyntheticsAssertionTarget::new(
34 SyntheticsAssertionOperator::LESS_THAN,
35 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueNumber(
36 2000.0 as f64,
37 ),
38 SyntheticsAssertionType::RESPONSE_TIME,
39 ),
40 )),
41 ])
42 .config_variables(vec![])
43 .request(
44 SyntheticsTestRequest::new()
45 .message("message".to_string())
46 .url("ws://datadoghq.com".to_string()),
47 ),
48 vec!["aws:us-east-2".to_string()],
49 "BDD test payload: synthetics_api_test_websocket_payload.json".to_string(),
50 "Example-Synthetic".to_string(),
51 SyntheticsTestOptions::new()
52 .accept_self_signed(false)
53 .allow_insecure(true)
54 .follow_redirects(true)
55 .min_failure_duration(10)
56 .min_location_failed(1)
57 .monitor_name("Example-Synthetic".to_string())
58 .monitor_priority(5)
59 .retry(
60 SyntheticsTestOptionsRetry::new()
61 .count(3)
62 .interval(10.0 as f64),
63 )
64 .tick_every(60),
65 SyntheticsAPITestType::API,
66 )
67 .subtype(SyntheticsTestDetailsSubType::WEBSOCKET)
68 .tags(vec!["testing:api".to_string()]);
69 let configuration = datadog::Configuration::new();
70 let api = SyntheticsAPI::with_config(configuration);
71 let resp = api.create_synthetics_api_test(body).await;
72 if let Ok(value) = resp {
73 println!("{:#?}", value);
74 } else {
75 println!("{:#?}", resp.unwrap_err());
76 }
77}
20async fn main() {
21 let body = SyntheticsBrowserTest::new(
22 SyntheticsBrowserTestConfig::new(
23 vec![],
24 SyntheticsTestRequest::new()
25 .method("GET".to_string())
26 .url("https://datadoghq.com".to_string()),
27 )
28 .config_variables(vec![SyntheticsConfigVariable::new(
29 "PROPERTY".to_string(),
30 SyntheticsConfigVariableType::TEXT,
31 )
32 .example("content-type".to_string())
33 .pattern("content-type".to_string())])
34 .set_cookie("name:test".to_string()),
35 vec!["aws:us-east-2".to_string()],
36 "Test message".to_string(),
37 "Example-Synthetic".to_string(),
38 SyntheticsTestOptions::new()
39 .accept_self_signed(false)
40 .allow_insecure(true)
41 .device_ids(vec!["tablet".to_string()])
42 .disable_cors(true)
43 .follow_redirects(true)
44 .min_failure_duration(10)
45 .min_location_failed(1)
46 .no_screenshot(true)
47 .retry(
48 SyntheticsTestOptionsRetry::new()
49 .count(2)
50 .interval(10.0 as f64),
51 )
52 .scheduling(SyntheticsTestOptionsScheduling::new(
53 vec![
54 SyntheticsTestOptionsSchedulingTimeframe::new(
55 1,
56 "07:00".to_string(),
57 "16:00".to_string(),
58 ),
59 SyntheticsTestOptionsSchedulingTimeframe::new(
60 3,
61 "07:00".to_string(),
62 "16:00".to_string(),
63 ),
64 ],
65 "America/New_York".to_string(),
66 ))
67 .tick_every(300),
68 SyntheticsBrowserTestType::BROWSER,
69 )
70 .steps(vec![SyntheticsStep::new()
71 .allow_failure(false)
72 .is_critical(true)
73 .name("Refresh page".to_string())
74 .params(BTreeMap::new())
75 .type_(SyntheticsStepType::REFRESH)])
76 .tags(vec!["testing:browser".to_string()]);
77 let configuration = datadog::Configuration::new();
78 let api = SyntheticsAPI::with_config(configuration);
79 let resp = api.create_synthetics_browser_test(body).await;
80 if let Ok(value) = resp {
81 println!("{:#?}", value);
82 } else {
83 println!("{:#?}", resp.unwrap_err());
84 }
85}
20async fn main() {
21 let body = SyntheticsAPITest::new(
22 SyntheticsAPITestConfig::new()
23 .assertions(vec![
24 SyntheticsAssertion::SyntheticsAssertionTarget(Box::new(
25 SyntheticsAssertionTarget::new(
26 SyntheticsAssertionOperator::IS,
27 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueString(
28 "message".to_string(),
29 ),
30 SyntheticsAssertionType::RECEIVED_MESSAGE,
31 ),
32 )),
33 SyntheticsAssertion::SyntheticsAssertionTarget(Box::new(
34 SyntheticsAssertionTarget::new(
35 SyntheticsAssertionOperator::LESS_THAN,
36 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueNumber(
37 2000.0 as f64,
38 ),
39 SyntheticsAssertionType::RESPONSE_TIME,
40 ),
41 )),
42 ])
43 .config_variables(vec![])
44 .request(
45 SyntheticsTestRequest::new()
46 .host("https://datadoghq.com".to_string())
47 .message("message".to_string())
48 .port(SyntheticsTestRequestPort::SyntheticsTestRequestNumericalPort(443)),
49 ),
50 vec!["aws:us-east-2".to_string()],
51 "BDD test payload: synthetics_api_test_udp_payload.json".to_string(),
52 "Example-Synthetic".to_string(),
53 SyntheticsTestOptions::new()
54 .accept_self_signed(false)
55 .allow_insecure(true)
56 .follow_redirects(true)
57 .min_failure_duration(10)
58 .min_location_failed(1)
59 .monitor_name("Example-Synthetic".to_string())
60 .monitor_priority(5)
61 .retry(
62 SyntheticsTestOptionsRetry::new()
63 .count(3)
64 .interval(10.0 as f64),
65 )
66 .tick_every(60),
67 SyntheticsAPITestType::API,
68 )
69 .subtype(SyntheticsTestDetailsSubType::UDP)
70 .tags(vec!["testing:api".to_string()]);
71 let configuration = datadog::Configuration::new();
72 let api = SyntheticsAPI::with_config(configuration);
73 let resp = api.create_synthetics_api_test(body).await;
74 if let Ok(value) = resp {
75 println!("{:#?}", value);
76 } else {
77 println!("{:#?}", resp.unwrap_err());
78 }
79}
31async fn main() {
32 // there is a valid "synthetics_api_test" in the system
33 let synthetics_api_test_public_id = std::env::var("SYNTHETICS_API_TEST_PUBLIC_ID").unwrap();
34 let body =
35 SyntheticsAPITest::new(
36 SyntheticsAPITestConfig::new()
37 .assertions(
38 vec![
39 SyntheticsAssertion::SyntheticsAssertionTarget(
40 Box::new(
41 SyntheticsAssertionTarget::new(
42 SyntheticsAssertionOperator::IS,
43 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueString(
44 "text/html".to_string(),
45 ),
46 SyntheticsAssertionType::HEADER,
47 ).property("{{ PROPERTY }}".to_string()),
48 ),
49 ),
50 SyntheticsAssertion::SyntheticsAssertionTarget(
51 Box::new(
52 SyntheticsAssertionTarget::new(
53 SyntheticsAssertionOperator::LESS_THAN,
54 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueNumber(
55 2000.0 as f64,
56 ),
57 SyntheticsAssertionType::RESPONSE_TIME,
58 ),
59 ),
60 ),
61 SyntheticsAssertion::SyntheticsAssertionJSONPathTarget(
62 Box::new(
63 SyntheticsAssertionJSONPathTarget::new(
64 SyntheticsAssertionJSONPathOperator::VALIDATES_JSON_PATH,
65 SyntheticsAssertionType::BODY,
66 ).target(
67 SyntheticsAssertionJSONPathTargetTarget::new()
68 .json_path("topKey".to_string())
69 .operator("isNot".to_string())
70 .target_value(
71 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueString(
72 "0".to_string(),
73 ),
74 ),
75 ),
76 ),
77 ),
78 SyntheticsAssertion::SyntheticsAssertionJSONSchemaTarget(
79 Box::new(
80 SyntheticsAssertionJSONSchemaTarget::new(
81 SyntheticsAssertionJSONSchemaOperator::VALIDATES_JSON_SCHEMA,
82 SyntheticsAssertionType::BODY,
83 ).target(
84 SyntheticsAssertionJSONSchemaTargetTarget::new()
85 .json_schema(
86 r#"{"type": "object", "properties":{"slideshow":{"type":"object"}}}"#.to_string(),
87 )
88 .meta_schema(SyntheticsAssertionJSONSchemaMetaSchema::DRAFT_07),
89 ),
90 ),
91 )
92 ],
93 )
94 .config_variables(
95 vec![
96 SyntheticsConfigVariable::new("PROPERTY".to_string(), SyntheticsConfigVariableType::TEXT)
97 .example("content-type".to_string())
98 .pattern("content-type".to_string())
99 ],
100 )
101 .request(
102 SyntheticsTestRequest::new()
103 .certificate(
104 SyntheticsTestRequestCertificate::new()
105 .cert(
106 SyntheticsTestRequestCertificateItem::new()
107 .filename("cert-filename".to_string())
108 .updated_at("2020-10-16T09:23:24.857Z".to_string()),
109 )
110 .key(
111 SyntheticsTestRequestCertificateItem::new()
112 .filename("key-filename".to_string())
113 .updated_at("2020-10-16T09:23:24.857Z".to_string()),
114 ),
115 )
116 .headers(BTreeMap::from([("unique".to_string(), "examplesynthetic".to_string())]))
117 .method("GET".to_string())
118 .timeout(10.0 as f64)
119 .url("https://datadoghq.com".to_string()),
120 ),
121 vec!["aws:us-east-2".to_string()],
122 "BDD test payload: synthetics_api_test_payload.json".to_string(),
123 "Example-Synthetic-updated".to_string(),
124 SyntheticsTestOptions::new()
125 .accept_self_signed(false)
126 .allow_insecure(true)
127 .follow_redirects(true)
128 .min_failure_duration(10)
129 .min_location_failed(1)
130 .monitor_name("Test-TestSyntheticsAPITestLifecycle-1623076664".to_string())
131 .monitor_priority(5)
132 .retry(SyntheticsTestOptionsRetry::new().count(3).interval(10.0 as f64))
133 .tick_every(60),
134 SyntheticsAPITestType::API,
135 )
136 .status(SyntheticsTestPauseStatus::LIVE)
137 .subtype(SyntheticsTestDetailsSubType::HTTP)
138 .tags(vec!["testing:api".to_string()]);
139 let configuration = datadog::Configuration::new();
140 let api = SyntheticsAPI::with_config(configuration);
141 let resp = api
142 .update_api_test(synthetics_api_test_public_id.clone(), body)
143 .await;
144 if let Ok(value) = resp {
145 println!("{:#?}", value);
146 } else {
147 println!("{:#?}", resp.unwrap_err());
148 }
149}
Sourcepub fn http_version(self, value: SyntheticsTestOptionsHTTPVersion) -> Self
pub fn http_version(self, value: SyntheticsTestOptionsHTTPVersion) -> Self
Examples found in repository?
27async fn main() {
28 let body = SyntheticsAPITest::new(
29 SyntheticsAPITestConfig::new()
30 .assertions(vec![SyntheticsAssertion::SyntheticsAssertionTarget(
31 Box::new(SyntheticsAssertionTarget::new(
32 SyntheticsAssertionOperator::LESS_THAN,
33 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueNumber(
34 1000.0 as f64,
35 ),
36 SyntheticsAssertionType::RESPONSE_TIME,
37 )),
38 )])
39 .request(
40 SyntheticsTestRequest::new()
41 .method("GET".to_string())
42 .url("https://example.com".to_string()),
43 ),
44 vec!["aws:eu-west-3".to_string()],
45 "Notification message".to_string(),
46 "Example test name".to_string(),
47 SyntheticsTestOptions::new()
48 .ci(SyntheticsTestCiOptions::new(
49 SyntheticsTestExecutionRule::BLOCKING,
50 ))
51 .device_ids(vec!["chrome.laptop_large".to_string()])
52 .http_version(SyntheticsTestOptionsHTTPVersion::HTTP1)
53 .monitor_options(
54 SyntheticsTestOptionsMonitorOptions::new().notification_preset_name(
55 SyntheticsTestOptionsMonitorOptionsNotificationPresetName::SHOW_ALL,
56 ),
57 )
58 .restricted_roles(vec!["xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx".to_string()])
59 .retry(SyntheticsTestOptionsRetry::new())
60 .rum_settings(
61 SyntheticsBrowserTestRumSettings::new(true)
62 .application_id("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx".to_string())
63 .client_token_id(12345),
64 )
65 .scheduling(SyntheticsTestOptionsScheduling::new(
66 vec![
67 SyntheticsTestOptionsSchedulingTimeframe::new(
68 1,
69 "07:00".to_string(),
70 "16:00".to_string(),
71 ),
72 SyntheticsTestOptionsSchedulingTimeframe::new(
73 3,
74 "07:00".to_string(),
75 "16:00".to_string(),
76 ),
77 ],
78 "America/New_York".to_string(),
79 )),
80 SyntheticsAPITestType::API,
81 )
82 .status(SyntheticsTestPauseStatus::LIVE)
83 .subtype(SyntheticsTestDetailsSubType::HTTP)
84 .tags(vec!["env:production".to_string()]);
85 let configuration = datadog::Configuration::new();
86 let api = SyntheticsAPI::with_config(configuration);
87 let resp = api.create_synthetics_api_test(body).await;
88 if let Ok(value) = resp {
89 println!("{:#?}", value);
90 } else {
91 println!("{:#?}", resp.unwrap_err());
92 }
93}
More examples
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}
39async fn main() {
40 let body =
41 SyntheticsAPITest::new(
42 SyntheticsAPITestConfig::new()
43 .assertions(
44 vec![
45 SyntheticsAssertion::SyntheticsAssertionTarget(
46 Box::new(
47 SyntheticsAssertionTarget::new(
48 SyntheticsAssertionOperator::IS,
49 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueString(
50 "text/html".to_string(),
51 ),
52 SyntheticsAssertionType::HEADER,
53 ).property("{{ PROPERTY }}".to_string()),
54 ),
55 ),
56 SyntheticsAssertion::SyntheticsAssertionTarget(
57 Box::new(
58 SyntheticsAssertionTarget::new(
59 SyntheticsAssertionOperator::LESS_THAN,
60 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueNumber(
61 2000.0 as f64,
62 ),
63 SyntheticsAssertionType::RESPONSE_TIME,
64 ).timings_scope(SyntheticsAssertionTimingsScope::WITHOUT_DNS),
65 ),
66 ),
67 SyntheticsAssertion::SyntheticsAssertionJSONPathTarget(
68 Box::new(
69 SyntheticsAssertionJSONPathTarget::new(
70 SyntheticsAssertionJSONPathOperator::VALIDATES_JSON_PATH,
71 SyntheticsAssertionType::BODY,
72 ).target(
73 SyntheticsAssertionJSONPathTargetTarget::new()
74 .json_path("topKey".to_string())
75 .operator("isNot".to_string())
76 .target_value(
77 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueString(
78 "0".to_string(),
79 ),
80 ),
81 ),
82 ),
83 ),
84 SyntheticsAssertion::SyntheticsAssertionXPathTarget(
85 Box::new(
86 SyntheticsAssertionXPathTarget::new(
87 SyntheticsAssertionXPathOperator::VALIDATES_X_PATH,
88 SyntheticsAssertionType::BODY,
89 ).target(
90 SyntheticsAssertionXPathTargetTarget::new()
91 .operator("contains".to_string())
92 .target_value(
93 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueString(
94 "0".to_string(),
95 ),
96 )
97 .x_path("target-xpath".to_string()),
98 ),
99 ),
100 )
101 ],
102 )
103 .config_variables(
104 vec![
105 SyntheticsConfigVariable::new("PROPERTY".to_string(), SyntheticsConfigVariableType::TEXT)
106 .example("content-type".to_string())
107 .pattern("content-type".to_string())
108 ],
109 )
110 .request(
111 SyntheticsTestRequest::new()
112 .basic_auth(
113 SyntheticsBasicAuth::SyntheticsBasicAuthOauthClient(
114 Box::new(
115 SyntheticsBasicAuthOauthClient::new(
116 "https://datadog-token.com".to_string(),
117 "client-id".to_string(),
118 "client-secret".to_string(),
119 SyntheticsBasicAuthOauthTokenApiAuthentication::HEADER,
120 SyntheticsBasicAuthOauthClientType::OAUTH_CLIENT,
121 )
122 .audience("audience".to_string())
123 .resource("resource".to_string())
124 .scope("yoyo".to_string()),
125 ),
126 ),
127 )
128 .body_type(SyntheticsTestRequestBodyType::APPLICATION_OCTET_STREAM)
129 .certificate(
130 SyntheticsTestRequestCertificate::new()
131 .cert(
132 SyntheticsTestRequestCertificateItem::new()
133 .content("cert-content".to_string())
134 .filename("cert-filename".to_string())
135 .updated_at("2020-10-16T09:23:24.857Z".to_string()),
136 )
137 .key(
138 SyntheticsTestRequestCertificateItem::new()
139 .content("key-content".to_string())
140 .filename("key-filename".to_string())
141 .updated_at("2020-10-16T09:23:24.857Z".to_string()),
142 ),
143 )
144 .files(
145 vec![
146 SyntheticsTestRequestBodyFile::new()
147 .content("file content".to_string())
148 .name("file name".to_string())
149 .original_file_name("image.png".to_string())
150 .type_("file type".to_string())
151 ],
152 )
153 .headers(BTreeMap::from([("unique".to_string(), "examplesynthetic".to_string())]))
154 .method("GET".to_string())
155 .persist_cookies(true)
156 .proxy(
157 SyntheticsTestRequestProxy::new(
158 "https://datadoghq.com".to_string(),
159 ).headers(BTreeMap::from([])),
160 )
161 .timeout(10.0 as f64)
162 .url("https://datadoghq.com".to_string()),
163 ),
164 vec!["aws:us-east-2".to_string()],
165 "BDD test payload: synthetics_api_http_test_payload.json".to_string(),
166 "Example-Synthetic".to_string(),
167 SyntheticsTestOptions::new()
168 .accept_self_signed(false)
169 .allow_insecure(true)
170 .follow_redirects(true)
171 .http_version(SyntheticsTestOptionsHTTPVersion::HTTP2)
172 .min_failure_duration(10)
173 .min_location_failed(1)
174 .monitor_name("Example-Synthetic".to_string())
175 .monitor_priority(5)
176 .retry(SyntheticsTestOptionsRetry::new().count(3).interval(10.0 as f64))
177 .tick_every(60),
178 SyntheticsAPITestType::API,
179 )
180 .subtype(SyntheticsTestDetailsSubType::HTTP)
181 .tags(vec!["testing:api".to_string()]);
182 let configuration = datadog::Configuration::new();
183 let api = SyntheticsAPI::with_config(configuration);
184 let resp = api.create_synthetics_api_test(body).await;
185 if let Ok(value) = resp {
186 println!("{:#?}", value);
187 } else {
188 println!("{:#?}", resp.unwrap_err());
189 }
190}
46async fn main() {
47 let body =
48 SyntheticsAPITest::new(
49 SyntheticsAPITestConfig::new()
50 .assertions(
51 vec![
52 SyntheticsAssertion::SyntheticsAssertionTarget(
53 Box::new(
54 SyntheticsAssertionTarget::new(
55 SyntheticsAssertionOperator::IS,
56 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueString(
57 "text/html".to_string(),
58 ),
59 SyntheticsAssertionType::HEADER,
60 ).property("{{ PROPERTY }}".to_string()),
61 ),
62 ),
63 SyntheticsAssertion::SyntheticsAssertionTarget(
64 Box::new(
65 SyntheticsAssertionTarget::new(
66 SyntheticsAssertionOperator::LESS_THAN,
67 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueNumber(
68 2000.0 as f64,
69 ),
70 SyntheticsAssertionType::RESPONSE_TIME,
71 ).timings_scope(SyntheticsAssertionTimingsScope::WITHOUT_DNS),
72 ),
73 ),
74 SyntheticsAssertion::SyntheticsAssertionJSONPathTarget(
75 Box::new(
76 SyntheticsAssertionJSONPathTarget::new(
77 SyntheticsAssertionJSONPathOperator::VALIDATES_JSON_PATH,
78 SyntheticsAssertionType::BODY,
79 ).target(
80 SyntheticsAssertionJSONPathTargetTarget::new()
81 .json_path("topKey".to_string())
82 .operator("isNot".to_string())
83 .target_value(
84 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueString(
85 "0".to_string(),
86 ),
87 ),
88 ),
89 ),
90 ),
91 SyntheticsAssertion::SyntheticsAssertionJSONPathTarget(
92 Box::new(
93 SyntheticsAssertionJSONPathTarget::new(
94 SyntheticsAssertionJSONPathOperator::VALIDATES_JSON_PATH,
95 SyntheticsAssertionType::BODY,
96 ).target(
97 SyntheticsAssertionJSONPathTargetTarget::new()
98 .elements_operator("atLeastOneElementMatches".to_string())
99 .json_path("topKey".to_string())
100 .operator("isNot".to_string())
101 .target_value(
102 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueString(
103 "0".to_string(),
104 ),
105 ),
106 ),
107 ),
108 ),
109 SyntheticsAssertion::SyntheticsAssertionJSONSchemaTarget(
110 Box::new(
111 SyntheticsAssertionJSONSchemaTarget::new(
112 SyntheticsAssertionJSONSchemaOperator::VALIDATES_JSON_SCHEMA,
113 SyntheticsAssertionType::BODY,
114 ).target(
115 SyntheticsAssertionJSONSchemaTargetTarget::new()
116 .json_schema(
117 r#"{"type": "object", "properties":{"slideshow":{"type":"object"}}}"#.to_string(),
118 )
119 .meta_schema(SyntheticsAssertionJSONSchemaMetaSchema::DRAFT_07),
120 ),
121 ),
122 ),
123 SyntheticsAssertion::SyntheticsAssertionXPathTarget(
124 Box::new(
125 SyntheticsAssertionXPathTarget::new(
126 SyntheticsAssertionXPathOperator::VALIDATES_X_PATH,
127 SyntheticsAssertionType::BODY,
128 ).target(
129 SyntheticsAssertionXPathTargetTarget::new()
130 .operator("contains".to_string())
131 .target_value(
132 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueString(
133 "0".to_string(),
134 ),
135 )
136 .x_path("target-xpath".to_string()),
137 ),
138 ),
139 ),
140 SyntheticsAssertion::SyntheticsAssertionBodyHashTarget(
141 Box::new(
142 SyntheticsAssertionBodyHashTarget::new(
143 SyntheticsAssertionBodyHashOperator::MD5,
144 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueString(
145 "a".to_string(),
146 ),
147 SyntheticsAssertionBodyHashType::BODY_HASH,
148 ),
149 ),
150 ),
151 SyntheticsAssertion::SyntheticsAssertionJavascript(
152 Box::new(
153 SyntheticsAssertionJavascript::new(
154 "const hello = 'world';".to_string(),
155 SyntheticsAssertionJavascriptType::JAVASCRIPT,
156 ),
157 ),
158 )
159 ],
160 )
161 .config_variables(
162 vec![
163 SyntheticsConfigVariable::new("PROPERTY".to_string(), SyntheticsConfigVariableType::TEXT)
164 .example("content-type".to_string())
165 .pattern("content-type".to_string())
166 ],
167 )
168 .request(
169 SyntheticsTestRequest::new()
170 .basic_auth(
171 SyntheticsBasicAuth::SyntheticsBasicAuthOauthClient(
172 Box::new(
173 SyntheticsBasicAuthOauthClient::new(
174 "https://datadog-token.com".to_string(),
175 "client-id".to_string(),
176 "client-secret".to_string(),
177 SyntheticsBasicAuthOauthTokenApiAuthentication::HEADER,
178 SyntheticsBasicAuthOauthClientType::OAUTH_CLIENT,
179 )
180 .audience("audience".to_string())
181 .resource("resource".to_string())
182 .scope("yoyo".to_string()),
183 ),
184 ),
185 )
186 .certificate(
187 SyntheticsTestRequestCertificate::new()
188 .cert(
189 SyntheticsTestRequestCertificateItem::new()
190 .content("cert-content".to_string())
191 .filename("cert-filename".to_string())
192 .updated_at("2020-10-16T09:23:24.857Z".to_string()),
193 )
194 .key(
195 SyntheticsTestRequestCertificateItem::new()
196 .content("key-content".to_string())
197 .filename("key-filename".to_string())
198 .updated_at("2020-10-16T09:23:24.857Z".to_string()),
199 ),
200 )
201 .headers(BTreeMap::from([("unique".to_string(), "examplesynthetic".to_string())]))
202 .method("GET".to_string())
203 .persist_cookies(true)
204 .proxy(
205 SyntheticsTestRequestProxy::new(
206 "https://datadoghq.com".to_string(),
207 ).headers(BTreeMap::from([])),
208 )
209 .timeout(10.0 as f64)
210 .url("https://datadoghq.com".to_string()),
211 )
212 .variables_from_script(r#"dd.variable.set("FOO", "foo")"#.to_string()),
213 vec!["aws:us-east-2".to_string()],
214 "BDD test payload: synthetics_api_http_test_payload.json".to_string(),
215 "Example-Synthetic".to_string(),
216 SyntheticsTestOptions::new()
217 .accept_self_signed(false)
218 .allow_insecure(true)
219 .follow_redirects(true)
220 .http_version(SyntheticsTestOptionsHTTPVersion::HTTP2)
221 .min_failure_duration(10)
222 .min_location_failed(1)
223 .monitor_name("Example-Synthetic".to_string())
224 .monitor_priority(5)
225 .retry(SyntheticsTestOptionsRetry::new().count(3).interval(10.0 as f64))
226 .tick_every(60),
227 SyntheticsAPITestType::API,
228 )
229 .subtype(SyntheticsTestDetailsSubType::HTTP)
230 .tags(vec!["testing:api".to_string()]);
231 let configuration = datadog::Configuration::new();
232 let api = SyntheticsAPI::with_config(configuration);
233 let resp = api.create_synthetics_api_test(body).await;
234 if let Ok(value) = resp {
235 println!("{:#?}", value);
236 } else {
237 println!("{:#?}", resp.unwrap_err());
238 }
239}
45async fn main() {
46 let body =
47 SyntheticsAPITest::new(
48 SyntheticsAPITestConfig::new()
49 .assertions(
50 vec![
51 SyntheticsAssertion::SyntheticsAssertionTarget(
52 Box::new(
53 SyntheticsAssertionTarget::new(
54 SyntheticsAssertionOperator::IS,
55 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueString(
56 "text/html".to_string(),
57 ),
58 SyntheticsAssertionType::HEADER,
59 ).property("{{ PROPERTY }}".to_string()),
60 ),
61 ),
62 SyntheticsAssertion::SyntheticsAssertionTarget(
63 Box::new(
64 SyntheticsAssertionTarget::new(
65 SyntheticsAssertionOperator::LESS_THAN,
66 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueNumber(
67 2000.0 as f64,
68 ),
69 SyntheticsAssertionType::RESPONSE_TIME,
70 ).timings_scope(SyntheticsAssertionTimingsScope::WITHOUT_DNS),
71 ),
72 ),
73 SyntheticsAssertion::SyntheticsAssertionJSONPathTarget(
74 Box::new(
75 SyntheticsAssertionJSONPathTarget::new(
76 SyntheticsAssertionJSONPathOperator::VALIDATES_JSON_PATH,
77 SyntheticsAssertionType::BODY,
78 ).target(
79 SyntheticsAssertionJSONPathTargetTarget::new()
80 .json_path("topKey".to_string())
81 .operator("isNot".to_string())
82 .target_value(
83 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueString(
84 "0".to_string(),
85 ),
86 ),
87 ),
88 ),
89 ),
90 SyntheticsAssertion::SyntheticsAssertionJSONPathTarget(
91 Box::new(
92 SyntheticsAssertionJSONPathTarget::new(
93 SyntheticsAssertionJSONPathOperator::VALIDATES_JSON_PATH,
94 SyntheticsAssertionType::BODY,
95 ).target(
96 SyntheticsAssertionJSONPathTargetTarget::new()
97 .elements_operator("atLeastOneElementMatches".to_string())
98 .json_path("topKey".to_string())
99 .operator("isNot".to_string())
100 .target_value(
101 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueString(
102 "0".to_string(),
103 ),
104 ),
105 ),
106 ),
107 ),
108 SyntheticsAssertion::SyntheticsAssertionJSONSchemaTarget(
109 Box::new(
110 SyntheticsAssertionJSONSchemaTarget::new(
111 SyntheticsAssertionJSONSchemaOperator::VALIDATES_JSON_SCHEMA,
112 SyntheticsAssertionType::BODY,
113 ).target(
114 SyntheticsAssertionJSONSchemaTargetTarget::new()
115 .json_schema(
116 r#"{"type": "object", "properties":{"slideshow":{"type":"object"}}}"#.to_string(),
117 )
118 .meta_schema(SyntheticsAssertionJSONSchemaMetaSchema::DRAFT_07),
119 ),
120 ),
121 ),
122 SyntheticsAssertion::SyntheticsAssertionXPathTarget(
123 Box::new(
124 SyntheticsAssertionXPathTarget::new(
125 SyntheticsAssertionXPathOperator::VALIDATES_X_PATH,
126 SyntheticsAssertionType::BODY,
127 ).target(
128 SyntheticsAssertionXPathTargetTarget::new()
129 .operator("contains".to_string())
130 .target_value(
131 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueString(
132 "0".to_string(),
133 ),
134 )
135 .x_path("target-xpath".to_string()),
136 ),
137 ),
138 ),
139 SyntheticsAssertion::SyntheticsAssertionBodyHashTarget(
140 Box::new(
141 SyntheticsAssertionBodyHashTarget::new(
142 SyntheticsAssertionBodyHashOperator::MD5,
143 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueString(
144 "a".to_string(),
145 ),
146 SyntheticsAssertionBodyHashType::BODY_HASH,
147 ),
148 ),
149 ),
150 SyntheticsAssertion::SyntheticsAssertionJavascript(
151 Box::new(
152 SyntheticsAssertionJavascript::new(
153 "const hello = 'world';".to_string(),
154 SyntheticsAssertionJavascriptType::JAVASCRIPT,
155 ),
156 ),
157 )
158 ],
159 )
160 .config_variables(
161 vec![
162 SyntheticsConfigVariable::new("PROPERTY".to_string(), SyntheticsConfigVariableType::TEXT)
163 .example("content-type".to_string())
164 .pattern("content-type".to_string())
165 ],
166 )
167 .request(
168 SyntheticsTestRequest::new()
169 .basic_auth(
170 SyntheticsBasicAuth::SyntheticsBasicAuthOauthClient(
171 Box::new(
172 SyntheticsBasicAuthOauthClient::new(
173 "https://datadog-token.com".to_string(),
174 "client-id".to_string(),
175 "client-secret".to_string(),
176 SyntheticsBasicAuthOauthTokenApiAuthentication::HEADER,
177 SyntheticsBasicAuthOauthClientType::OAUTH_CLIENT,
178 )
179 .audience("audience".to_string())
180 .resource("resource".to_string())
181 .scope("yoyo".to_string()),
182 ),
183 ),
184 )
185 .certificate(
186 SyntheticsTestRequestCertificate::new()
187 .cert(
188 SyntheticsTestRequestCertificateItem::new()
189 .content("cert-content".to_string())
190 .filename("cert-filename".to_string())
191 .updated_at("2020-10-16T09:23:24.857Z".to_string()),
192 )
193 .key(
194 SyntheticsTestRequestCertificateItem::new()
195 .content("key-content".to_string())
196 .filename("key-filename".to_string())
197 .updated_at("2020-10-16T09:23:24.857Z".to_string()),
198 ),
199 )
200 .headers(BTreeMap::from([("unique".to_string(), "examplesynthetic".to_string())]))
201 .method("GET".to_string())
202 .persist_cookies(true)
203 .proxy(
204 SyntheticsTestRequestProxy::new(
205 "https://datadoghq.com".to_string(),
206 ).headers(BTreeMap::from([])),
207 )
208 .timeout(10.0 as f64)
209 .url("https://datadoghq.com".to_string()),
210 )
211 .variables_from_script(r#"dd.variable.set("FOO", "foo")"#.to_string()),
212 vec!["aws:us-east-2".to_string()],
213 "BDD test payload: synthetics_api_http_test_payload.json".to_string(),
214 "Example-Synthetic".to_string(),
215 SyntheticsTestOptions::new()
216 .accept_self_signed(false)
217 .allow_insecure(true)
218 .follow_redirects(true)
219 .http_version(SyntheticsTestOptionsHTTPVersion::HTTP2)
220 .min_failure_duration(10)
221 .min_location_failed(1)
222 .monitor_name("Example-Synthetic".to_string())
223 .monitor_priority(5)
224 .retry(SyntheticsTestOptionsRetry::new().count(3).interval(10.0 as f64))
225 .tick_every(60),
226 SyntheticsAPITestType::API,
227 )
228 .subtype(SyntheticsTestDetailsSubType::HTTP)
229 .tags(vec!["testing:api".to_string()]);
230 let configuration = datadog::Configuration::new();
231 let api = SyntheticsAPI::with_config(configuration);
232 let resp = api.create_synthetics_api_test(body).await;
233 if let Ok(value) = resp {
234 println!("{:#?}", value);
235 } else {
236 println!("{:#?}", resp.unwrap_err());
237 }
238}
Sourcepub fn ignore_server_certificate_error(self, value: bool) -> Self
pub fn ignore_server_certificate_error(self, value: bool) -> Self
Examples found in repository?
20async fn main() {
21 let body = SyntheticsBrowserTest::new(
22 SyntheticsBrowserTestConfig::new(
23 vec![],
24 SyntheticsTestRequest::new()
25 .certificate_domains(vec!["https://datadoghq.com".to_string()])
26 .method("GET".to_string())
27 .url("https://datadoghq.com".to_string()),
28 )
29 .config_variables(vec![SyntheticsConfigVariable::new(
30 "PROPERTY".to_string(),
31 SyntheticsConfigVariableType::TEXT,
32 )
33 .example("content-type".to_string())
34 .pattern("content-type".to_string())])
35 .set_cookie("name:test".to_string()),
36 vec!["aws:us-east-2".to_string()],
37 "Test message".to_string(),
38 "Example-Synthetic".to_string(),
39 SyntheticsTestOptions::new()
40 .accept_self_signed(false)
41 .allow_insecure(true)
42 .ci(SyntheticsTestCiOptions::new(
43 SyntheticsTestExecutionRule::SKIPPED,
44 ))
45 .device_ids(vec!["tablet".to_string()])
46 .disable_cors(true)
47 .disable_csp(true)
48 .follow_redirects(true)
49 .ignore_server_certificate_error(true)
50 .initial_navigation_timeout(200)
51 .min_failure_duration(10)
52 .min_location_failed(1)
53 .no_screenshot(true)
54 .retry(
55 SyntheticsTestOptionsRetry::new()
56 .count(2)
57 .interval(10.0 as f64),
58 )
59 .rum_settings(
60 SyntheticsBrowserTestRumSettings::new(true)
61 .application_id("mockApplicationId".to_string())
62 .client_token_id(12345),
63 )
64 .tick_every(300),
65 SyntheticsBrowserTestType::BROWSER,
66 )
67 .steps(vec![SyntheticsStep::new()
68 .allow_failure(false)
69 .is_critical(true)
70 .name("Refresh page".to_string())
71 .params(BTreeMap::new())
72 .type_(SyntheticsStepType::REFRESH)])
73 .tags(vec!["testing:browser".to_string()]);
74 let configuration = datadog::Configuration::new();
75 let api = SyntheticsAPI::with_config(configuration);
76 let resp = api.create_synthetics_browser_test(body).await;
77 if let Ok(value) = resp {
78 println!("{:#?}", value);
79 } else {
80 println!("{:#?}", resp.unwrap_err());
81 }
82}
Examples found in repository?
20async fn main() {
21 let body = SyntheticsBrowserTest::new(
22 SyntheticsBrowserTestConfig::new(
23 vec![],
24 SyntheticsTestRequest::new()
25 .certificate_domains(vec!["https://datadoghq.com".to_string()])
26 .method("GET".to_string())
27 .url("https://datadoghq.com".to_string()),
28 )
29 .config_variables(vec![SyntheticsConfigVariable::new(
30 "PROPERTY".to_string(),
31 SyntheticsConfigVariableType::TEXT,
32 )
33 .example("content-type".to_string())
34 .pattern("content-type".to_string())])
35 .set_cookie("name:test".to_string()),
36 vec!["aws:us-east-2".to_string()],
37 "Test message".to_string(),
38 "Example-Synthetic".to_string(),
39 SyntheticsTestOptions::new()
40 .accept_self_signed(false)
41 .allow_insecure(true)
42 .ci(SyntheticsTestCiOptions::new(
43 SyntheticsTestExecutionRule::SKIPPED,
44 ))
45 .device_ids(vec!["tablet".to_string()])
46 .disable_cors(true)
47 .disable_csp(true)
48 .follow_redirects(true)
49 .ignore_server_certificate_error(true)
50 .initial_navigation_timeout(200)
51 .min_failure_duration(10)
52 .min_location_failed(1)
53 .no_screenshot(true)
54 .retry(
55 SyntheticsTestOptionsRetry::new()
56 .count(2)
57 .interval(10.0 as f64),
58 )
59 .rum_settings(
60 SyntheticsBrowserTestRumSettings::new(true)
61 .application_id("mockApplicationId".to_string())
62 .client_token_id(12345),
63 )
64 .tick_every(300),
65 SyntheticsBrowserTestType::BROWSER,
66 )
67 .steps(vec![SyntheticsStep::new()
68 .allow_failure(false)
69 .is_critical(true)
70 .name("Refresh page".to_string())
71 .params(BTreeMap::new())
72 .type_(SyntheticsStepType::REFRESH)])
73 .tags(vec!["testing:browser".to_string()]);
74 let configuration = datadog::Configuration::new();
75 let api = SyntheticsAPI::with_config(configuration);
76 let resp = api.create_synthetics_browser_test(body).await;
77 if let Ok(value) = resp {
78 println!("{:#?}", value);
79 } else {
80 println!("{:#?}", resp.unwrap_err());
81 }
82}
Sourcepub fn min_failure_duration(self, value: i64) -> Self
pub fn min_failure_duration(self, value: i64) -> Self
Examples found in repository?
19async fn main() {
20 let body = SyntheticsBrowserTest::new(
21 SyntheticsBrowserTestConfig::new(
22 vec![],
23 SyntheticsTestRequest::new()
24 .method("GET".to_string())
25 .url("https://datadoghq.com".to_string()),
26 )
27 .config_variables(vec![SyntheticsConfigVariable::new(
28 "PROPERTY".to_string(),
29 SyntheticsConfigVariableType::TEXT,
30 )
31 .example("content-type".to_string())
32 .pattern("content-type".to_string())
33 .secure(true)])
34 .set_cookie("name:test".to_string())
35 .variables(vec![SyntheticsBrowserVariable::new(
36 "TEST_VARIABLE".to_string(),
37 SyntheticsBrowserVariableType::TEXT,
38 )
39 .example("secret".to_string())
40 .pattern("secret".to_string())
41 .secure(true)]),
42 vec!["aws:us-east-2".to_string()],
43 "Test message".to_string(),
44 "Example-Synthetic".to_string(),
45 SyntheticsTestOptions::new()
46 .accept_self_signed(false)
47 .allow_insecure(true)
48 .device_ids(vec!["chrome.laptop_large".to_string()])
49 .disable_cors(true)
50 .enable_profiling(true)
51 .enable_security_testing(true)
52 .follow_redirects(true)
53 .min_failure_duration(10)
54 .min_location_failed(1)
55 .no_screenshot(true)
56 .retry(
57 SyntheticsTestOptionsRetry::new()
58 .count(2)
59 .interval(10.0 as f64),
60 )
61 .tick_every(300),
62 SyntheticsBrowserTestType::BROWSER,
63 )
64 .steps(vec![SyntheticsStep::new()
65 .allow_failure(false)
66 .always_execute(true)
67 .exit_if_succeed(true)
68 .is_critical(true)
69 .name("Refresh page".to_string())
70 .params(BTreeMap::new())
71 .type_(SyntheticsStepType::REFRESH)])
72 .tags(vec!["testing:browser".to_string()]);
73 let configuration = datadog::Configuration::new();
74 let api = SyntheticsAPI::with_config(configuration);
75 let resp = api.create_synthetics_browser_test(body).await;
76 if let Ok(value) = resp {
77 println!("{:#?}", value);
78 } else {
79 println!("{:#?}", resp.unwrap_err());
80 }
81}
More examples
20async fn main() {
21 let body = SyntheticsBrowserTest::new(
22 SyntheticsBrowserTestConfig::new(
23 vec![],
24 SyntheticsTestRequest::new()
25 .certificate_domains(vec!["https://datadoghq.com".to_string()])
26 .method("GET".to_string())
27 .url("https://datadoghq.com".to_string()),
28 )
29 .config_variables(vec![SyntheticsConfigVariable::new(
30 "PROPERTY".to_string(),
31 SyntheticsConfigVariableType::TEXT,
32 )
33 .example("content-type".to_string())
34 .pattern("content-type".to_string())])
35 .set_cookie("name:test".to_string()),
36 vec!["aws:us-east-2".to_string()],
37 "Test message".to_string(),
38 "Example-Synthetic".to_string(),
39 SyntheticsTestOptions::new()
40 .accept_self_signed(false)
41 .allow_insecure(true)
42 .ci(SyntheticsTestCiOptions::new(
43 SyntheticsTestExecutionRule::SKIPPED,
44 ))
45 .device_ids(vec!["tablet".to_string()])
46 .disable_cors(true)
47 .disable_csp(true)
48 .follow_redirects(true)
49 .ignore_server_certificate_error(true)
50 .initial_navigation_timeout(200)
51 .min_failure_duration(10)
52 .min_location_failed(1)
53 .no_screenshot(true)
54 .retry(
55 SyntheticsTestOptionsRetry::new()
56 .count(2)
57 .interval(10.0 as f64),
58 )
59 .rum_settings(
60 SyntheticsBrowserTestRumSettings::new(true)
61 .application_id("mockApplicationId".to_string())
62 .client_token_id(12345),
63 )
64 .tick_every(300),
65 SyntheticsBrowserTestType::BROWSER,
66 )
67 .steps(vec![SyntheticsStep::new()
68 .allow_failure(false)
69 .is_critical(true)
70 .name("Refresh page".to_string())
71 .params(BTreeMap::new())
72 .type_(SyntheticsStepType::REFRESH)])
73 .tags(vec!["testing:browser".to_string()]);
74 let configuration = datadog::Configuration::new();
75 let api = SyntheticsAPI::with_config(configuration);
76 let resp = api.create_synthetics_browser_test(body).await;
77 if let Ok(value) = resp {
78 println!("{:#?}", value);
79 } else {
80 println!("{:#?}", resp.unwrap_err());
81 }
82}
19async fn main() {
20 let body = SyntheticsAPITest::new(
21 SyntheticsAPITestConfig::new()
22 .assertions(vec![
23 SyntheticsAssertion::SyntheticsAssertionTarget(Box::new(
24 SyntheticsAssertionTarget::new(
25 SyntheticsAssertionOperator::IS,
26 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueString(
27 "message".to_string(),
28 ),
29 SyntheticsAssertionType::RECEIVED_MESSAGE,
30 ),
31 )),
32 SyntheticsAssertion::SyntheticsAssertionTarget(Box::new(
33 SyntheticsAssertionTarget::new(
34 SyntheticsAssertionOperator::LESS_THAN,
35 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueNumber(
36 2000.0 as f64,
37 ),
38 SyntheticsAssertionType::RESPONSE_TIME,
39 ),
40 )),
41 ])
42 .config_variables(vec![])
43 .request(
44 SyntheticsTestRequest::new()
45 .message("message".to_string())
46 .url("ws://datadoghq.com".to_string()),
47 ),
48 vec!["aws:us-east-2".to_string()],
49 "BDD test payload: synthetics_api_test_websocket_payload.json".to_string(),
50 "Example-Synthetic".to_string(),
51 SyntheticsTestOptions::new()
52 .accept_self_signed(false)
53 .allow_insecure(true)
54 .follow_redirects(true)
55 .min_failure_duration(10)
56 .min_location_failed(1)
57 .monitor_name("Example-Synthetic".to_string())
58 .monitor_priority(5)
59 .retry(
60 SyntheticsTestOptionsRetry::new()
61 .count(3)
62 .interval(10.0 as f64),
63 )
64 .tick_every(60),
65 SyntheticsAPITestType::API,
66 )
67 .subtype(SyntheticsTestDetailsSubType::WEBSOCKET)
68 .tags(vec!["testing:api".to_string()]);
69 let configuration = datadog::Configuration::new();
70 let api = SyntheticsAPI::with_config(configuration);
71 let resp = api.create_synthetics_api_test(body).await;
72 if let Ok(value) = resp {
73 println!("{:#?}", value);
74 } else {
75 println!("{:#?}", resp.unwrap_err());
76 }
77}
20async fn main() {
21 let body = SyntheticsBrowserTest::new(
22 SyntheticsBrowserTestConfig::new(
23 vec![],
24 SyntheticsTestRequest::new()
25 .method("GET".to_string())
26 .url("https://datadoghq.com".to_string()),
27 )
28 .config_variables(vec![SyntheticsConfigVariable::new(
29 "PROPERTY".to_string(),
30 SyntheticsConfigVariableType::TEXT,
31 )
32 .example("content-type".to_string())
33 .pattern("content-type".to_string())])
34 .set_cookie("name:test".to_string()),
35 vec!["aws:us-east-2".to_string()],
36 "Test message".to_string(),
37 "Example-Synthetic".to_string(),
38 SyntheticsTestOptions::new()
39 .accept_self_signed(false)
40 .allow_insecure(true)
41 .device_ids(vec!["tablet".to_string()])
42 .disable_cors(true)
43 .follow_redirects(true)
44 .min_failure_duration(10)
45 .min_location_failed(1)
46 .no_screenshot(true)
47 .retry(
48 SyntheticsTestOptionsRetry::new()
49 .count(2)
50 .interval(10.0 as f64),
51 )
52 .scheduling(SyntheticsTestOptionsScheduling::new(
53 vec![
54 SyntheticsTestOptionsSchedulingTimeframe::new(
55 1,
56 "07:00".to_string(),
57 "16:00".to_string(),
58 ),
59 SyntheticsTestOptionsSchedulingTimeframe::new(
60 3,
61 "07:00".to_string(),
62 "16:00".to_string(),
63 ),
64 ],
65 "America/New_York".to_string(),
66 ))
67 .tick_every(300),
68 SyntheticsBrowserTestType::BROWSER,
69 )
70 .steps(vec![SyntheticsStep::new()
71 .allow_failure(false)
72 .is_critical(true)
73 .name("Refresh page".to_string())
74 .params(BTreeMap::new())
75 .type_(SyntheticsStepType::REFRESH)])
76 .tags(vec!["testing:browser".to_string()]);
77 let configuration = datadog::Configuration::new();
78 let api = SyntheticsAPI::with_config(configuration);
79 let resp = api.create_synthetics_browser_test(body).await;
80 if let Ok(value) = resp {
81 println!("{:#?}", value);
82 } else {
83 println!("{:#?}", resp.unwrap_err());
84 }
85}
20async fn main() {
21 let body = SyntheticsAPITest::new(
22 SyntheticsAPITestConfig::new()
23 .assertions(vec![
24 SyntheticsAssertion::SyntheticsAssertionTarget(Box::new(
25 SyntheticsAssertionTarget::new(
26 SyntheticsAssertionOperator::IS,
27 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueString(
28 "message".to_string(),
29 ),
30 SyntheticsAssertionType::RECEIVED_MESSAGE,
31 ),
32 )),
33 SyntheticsAssertion::SyntheticsAssertionTarget(Box::new(
34 SyntheticsAssertionTarget::new(
35 SyntheticsAssertionOperator::LESS_THAN,
36 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueNumber(
37 2000.0 as f64,
38 ),
39 SyntheticsAssertionType::RESPONSE_TIME,
40 ),
41 )),
42 ])
43 .config_variables(vec![])
44 .request(
45 SyntheticsTestRequest::new()
46 .host("https://datadoghq.com".to_string())
47 .message("message".to_string())
48 .port(SyntheticsTestRequestPort::SyntheticsTestRequestNumericalPort(443)),
49 ),
50 vec!["aws:us-east-2".to_string()],
51 "BDD test payload: synthetics_api_test_udp_payload.json".to_string(),
52 "Example-Synthetic".to_string(),
53 SyntheticsTestOptions::new()
54 .accept_self_signed(false)
55 .allow_insecure(true)
56 .follow_redirects(true)
57 .min_failure_duration(10)
58 .min_location_failed(1)
59 .monitor_name("Example-Synthetic".to_string())
60 .monitor_priority(5)
61 .retry(
62 SyntheticsTestOptionsRetry::new()
63 .count(3)
64 .interval(10.0 as f64),
65 )
66 .tick_every(60),
67 SyntheticsAPITestType::API,
68 )
69 .subtype(SyntheticsTestDetailsSubType::UDP)
70 .tags(vec!["testing:api".to_string()]);
71 let configuration = datadog::Configuration::new();
72 let api = SyntheticsAPI::with_config(configuration);
73 let resp = api.create_synthetics_api_test(body).await;
74 if let Ok(value) = resp {
75 println!("{:#?}", value);
76 } else {
77 println!("{:#?}", resp.unwrap_err());
78 }
79}
21async fn main() {
22 let body = SyntheticsAPITest::new(
23 SyntheticsAPITestConfig::new()
24 .assertions(vec![
25 SyntheticsAssertion::SyntheticsAssertionTarget(Box::new(
26 SyntheticsAssertionTarget::new(
27 SyntheticsAssertionOperator::IS,
28 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueNumber(
29 1.0 as f64,
30 ),
31 SyntheticsAssertionType::GRPC_HEALTHCHECK_STATUS,
32 ),
33 )),
34 SyntheticsAssertion::SyntheticsAssertionTarget(Box::new(
35 SyntheticsAssertionTarget::new(
36 SyntheticsAssertionOperator::IS,
37 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueString(
38 "proto target".to_string(),
39 ),
40 SyntheticsAssertionType::GRPC_PROTO,
41 ),
42 )),
43 SyntheticsAssertion::SyntheticsAssertionTarget(Box::new(
44 SyntheticsAssertionTarget::new(
45 SyntheticsAssertionOperator::IS,
46 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueString(
47 "123".to_string(),
48 ),
49 SyntheticsAssertionType::GRPC_METADATA,
50 )
51 .property("property".to_string()),
52 )),
53 ])
54 .request(
55 SyntheticsTestRequest::new()
56 .host("localhost".to_string())
57 .message("".to_string())
58 .metadata(BTreeMap::from([]))
59 .method("GET".to_string())
60 .port(SyntheticsTestRequestPort::SyntheticsTestRequestNumericalPort(50051))
61 .service("Hello".to_string()),
62 ),
63 vec!["aws:us-east-2".to_string()],
64 "BDD test payload: synthetics_api_grpc_test_payload.json".to_string(),
65 "Example-Synthetic".to_string(),
66 SyntheticsTestOptions::new()
67 .min_failure_duration(0)
68 .min_location_failed(1)
69 .monitor_name("Example-Synthetic".to_string())
70 .monitor_options(SyntheticsTestOptionsMonitorOptions::new().renotify_interval(0))
71 .tick_every(60),
72 SyntheticsAPITestType::API,
73 )
74 .subtype(SyntheticsTestDetailsSubType::GRPC)
75 .tags(vec!["testing:api".to_string()]);
76 let configuration = datadog::Configuration::new();
77 let api = SyntheticsAPI::with_config(configuration);
78 let resp = api.create_synthetics_api_test(body).await;
79 if let Ok(value) = resp {
80 println!("{:#?}", value);
81 } else {
82 println!("{:#?}", resp.unwrap_err());
83 }
84}
- examples/v1_synthetics_UpdateAPITest.rs
- examples/v1_synthetics_CreateSyntheticsAPITest_1241981394.rs
- examples/v1_synthetics_CreateSyntheticsAPITest_960766374.rs
- examples/v1_synthetics_CreateSyntheticsAPITest_1487281163.rs
- examples/v1_synthetics_CreateSyntheticsAPITest_1987645492.rs
- examples/v1_synthetics_CreateSyntheticsAPITest_1279271422.rs
Sourcepub fn min_location_failed(self, value: i64) -> Self
pub fn min_location_failed(self, value: i64) -> Self
Examples found in repository?
19async fn main() {
20 let body = SyntheticsBrowserTest::new(
21 SyntheticsBrowserTestConfig::new(
22 vec![],
23 SyntheticsTestRequest::new()
24 .method("GET".to_string())
25 .url("https://datadoghq.com".to_string()),
26 )
27 .config_variables(vec![SyntheticsConfigVariable::new(
28 "PROPERTY".to_string(),
29 SyntheticsConfigVariableType::TEXT,
30 )
31 .example("content-type".to_string())
32 .pattern("content-type".to_string())
33 .secure(true)])
34 .set_cookie("name:test".to_string())
35 .variables(vec![SyntheticsBrowserVariable::new(
36 "TEST_VARIABLE".to_string(),
37 SyntheticsBrowserVariableType::TEXT,
38 )
39 .example("secret".to_string())
40 .pattern("secret".to_string())
41 .secure(true)]),
42 vec!["aws:us-east-2".to_string()],
43 "Test message".to_string(),
44 "Example-Synthetic".to_string(),
45 SyntheticsTestOptions::new()
46 .accept_self_signed(false)
47 .allow_insecure(true)
48 .device_ids(vec!["chrome.laptop_large".to_string()])
49 .disable_cors(true)
50 .enable_profiling(true)
51 .enable_security_testing(true)
52 .follow_redirects(true)
53 .min_failure_duration(10)
54 .min_location_failed(1)
55 .no_screenshot(true)
56 .retry(
57 SyntheticsTestOptionsRetry::new()
58 .count(2)
59 .interval(10.0 as f64),
60 )
61 .tick_every(300),
62 SyntheticsBrowserTestType::BROWSER,
63 )
64 .steps(vec![SyntheticsStep::new()
65 .allow_failure(false)
66 .always_execute(true)
67 .exit_if_succeed(true)
68 .is_critical(true)
69 .name("Refresh page".to_string())
70 .params(BTreeMap::new())
71 .type_(SyntheticsStepType::REFRESH)])
72 .tags(vec!["testing:browser".to_string()]);
73 let configuration = datadog::Configuration::new();
74 let api = SyntheticsAPI::with_config(configuration);
75 let resp = api.create_synthetics_browser_test(body).await;
76 if let Ok(value) = resp {
77 println!("{:#?}", value);
78 } else {
79 println!("{:#?}", resp.unwrap_err());
80 }
81}
More examples
20async fn main() {
21 let body = SyntheticsBrowserTest::new(
22 SyntheticsBrowserTestConfig::new(
23 vec![],
24 SyntheticsTestRequest::new()
25 .certificate_domains(vec!["https://datadoghq.com".to_string()])
26 .method("GET".to_string())
27 .url("https://datadoghq.com".to_string()),
28 )
29 .config_variables(vec![SyntheticsConfigVariable::new(
30 "PROPERTY".to_string(),
31 SyntheticsConfigVariableType::TEXT,
32 )
33 .example("content-type".to_string())
34 .pattern("content-type".to_string())])
35 .set_cookie("name:test".to_string()),
36 vec!["aws:us-east-2".to_string()],
37 "Test message".to_string(),
38 "Example-Synthetic".to_string(),
39 SyntheticsTestOptions::new()
40 .accept_self_signed(false)
41 .allow_insecure(true)
42 .ci(SyntheticsTestCiOptions::new(
43 SyntheticsTestExecutionRule::SKIPPED,
44 ))
45 .device_ids(vec!["tablet".to_string()])
46 .disable_cors(true)
47 .disable_csp(true)
48 .follow_redirects(true)
49 .ignore_server_certificate_error(true)
50 .initial_navigation_timeout(200)
51 .min_failure_duration(10)
52 .min_location_failed(1)
53 .no_screenshot(true)
54 .retry(
55 SyntheticsTestOptionsRetry::new()
56 .count(2)
57 .interval(10.0 as f64),
58 )
59 .rum_settings(
60 SyntheticsBrowserTestRumSettings::new(true)
61 .application_id("mockApplicationId".to_string())
62 .client_token_id(12345),
63 )
64 .tick_every(300),
65 SyntheticsBrowserTestType::BROWSER,
66 )
67 .steps(vec![SyntheticsStep::new()
68 .allow_failure(false)
69 .is_critical(true)
70 .name("Refresh page".to_string())
71 .params(BTreeMap::new())
72 .type_(SyntheticsStepType::REFRESH)])
73 .tags(vec!["testing:browser".to_string()]);
74 let configuration = datadog::Configuration::new();
75 let api = SyntheticsAPI::with_config(configuration);
76 let resp = api.create_synthetics_browser_test(body).await;
77 if let Ok(value) = resp {
78 println!("{:#?}", value);
79 } else {
80 println!("{:#?}", resp.unwrap_err());
81 }
82}
19async fn main() {
20 let body = SyntheticsAPITest::new(
21 SyntheticsAPITestConfig::new()
22 .assertions(vec![
23 SyntheticsAssertion::SyntheticsAssertionTarget(Box::new(
24 SyntheticsAssertionTarget::new(
25 SyntheticsAssertionOperator::IS,
26 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueString(
27 "message".to_string(),
28 ),
29 SyntheticsAssertionType::RECEIVED_MESSAGE,
30 ),
31 )),
32 SyntheticsAssertion::SyntheticsAssertionTarget(Box::new(
33 SyntheticsAssertionTarget::new(
34 SyntheticsAssertionOperator::LESS_THAN,
35 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueNumber(
36 2000.0 as f64,
37 ),
38 SyntheticsAssertionType::RESPONSE_TIME,
39 ),
40 )),
41 ])
42 .config_variables(vec![])
43 .request(
44 SyntheticsTestRequest::new()
45 .message("message".to_string())
46 .url("ws://datadoghq.com".to_string()),
47 ),
48 vec!["aws:us-east-2".to_string()],
49 "BDD test payload: synthetics_api_test_websocket_payload.json".to_string(),
50 "Example-Synthetic".to_string(),
51 SyntheticsTestOptions::new()
52 .accept_self_signed(false)
53 .allow_insecure(true)
54 .follow_redirects(true)
55 .min_failure_duration(10)
56 .min_location_failed(1)
57 .monitor_name("Example-Synthetic".to_string())
58 .monitor_priority(5)
59 .retry(
60 SyntheticsTestOptionsRetry::new()
61 .count(3)
62 .interval(10.0 as f64),
63 )
64 .tick_every(60),
65 SyntheticsAPITestType::API,
66 )
67 .subtype(SyntheticsTestDetailsSubType::WEBSOCKET)
68 .tags(vec!["testing:api".to_string()]);
69 let configuration = datadog::Configuration::new();
70 let api = SyntheticsAPI::with_config(configuration);
71 let resp = api.create_synthetics_api_test(body).await;
72 if let Ok(value) = resp {
73 println!("{:#?}", value);
74 } else {
75 println!("{:#?}", resp.unwrap_err());
76 }
77}
20async fn main() {
21 let body = SyntheticsBrowserTest::new(
22 SyntheticsBrowserTestConfig::new(
23 vec![],
24 SyntheticsTestRequest::new()
25 .method("GET".to_string())
26 .url("https://datadoghq.com".to_string()),
27 )
28 .config_variables(vec![SyntheticsConfigVariable::new(
29 "PROPERTY".to_string(),
30 SyntheticsConfigVariableType::TEXT,
31 )
32 .example("content-type".to_string())
33 .pattern("content-type".to_string())])
34 .set_cookie("name:test".to_string()),
35 vec!["aws:us-east-2".to_string()],
36 "Test message".to_string(),
37 "Example-Synthetic".to_string(),
38 SyntheticsTestOptions::new()
39 .accept_self_signed(false)
40 .allow_insecure(true)
41 .device_ids(vec!["tablet".to_string()])
42 .disable_cors(true)
43 .follow_redirects(true)
44 .min_failure_duration(10)
45 .min_location_failed(1)
46 .no_screenshot(true)
47 .retry(
48 SyntheticsTestOptionsRetry::new()
49 .count(2)
50 .interval(10.0 as f64),
51 )
52 .scheduling(SyntheticsTestOptionsScheduling::new(
53 vec![
54 SyntheticsTestOptionsSchedulingTimeframe::new(
55 1,
56 "07:00".to_string(),
57 "16:00".to_string(),
58 ),
59 SyntheticsTestOptionsSchedulingTimeframe::new(
60 3,
61 "07:00".to_string(),
62 "16:00".to_string(),
63 ),
64 ],
65 "America/New_York".to_string(),
66 ))
67 .tick_every(300),
68 SyntheticsBrowserTestType::BROWSER,
69 )
70 .steps(vec![SyntheticsStep::new()
71 .allow_failure(false)
72 .is_critical(true)
73 .name("Refresh page".to_string())
74 .params(BTreeMap::new())
75 .type_(SyntheticsStepType::REFRESH)])
76 .tags(vec!["testing:browser".to_string()]);
77 let configuration = datadog::Configuration::new();
78 let api = SyntheticsAPI::with_config(configuration);
79 let resp = api.create_synthetics_browser_test(body).await;
80 if let Ok(value) = resp {
81 println!("{:#?}", value);
82 } else {
83 println!("{:#?}", resp.unwrap_err());
84 }
85}
20async fn main() {
21 let body = SyntheticsAPITest::new(
22 SyntheticsAPITestConfig::new()
23 .assertions(vec![
24 SyntheticsAssertion::SyntheticsAssertionTarget(Box::new(
25 SyntheticsAssertionTarget::new(
26 SyntheticsAssertionOperator::IS,
27 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueString(
28 "message".to_string(),
29 ),
30 SyntheticsAssertionType::RECEIVED_MESSAGE,
31 ),
32 )),
33 SyntheticsAssertion::SyntheticsAssertionTarget(Box::new(
34 SyntheticsAssertionTarget::new(
35 SyntheticsAssertionOperator::LESS_THAN,
36 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueNumber(
37 2000.0 as f64,
38 ),
39 SyntheticsAssertionType::RESPONSE_TIME,
40 ),
41 )),
42 ])
43 .config_variables(vec![])
44 .request(
45 SyntheticsTestRequest::new()
46 .host("https://datadoghq.com".to_string())
47 .message("message".to_string())
48 .port(SyntheticsTestRequestPort::SyntheticsTestRequestNumericalPort(443)),
49 ),
50 vec!["aws:us-east-2".to_string()],
51 "BDD test payload: synthetics_api_test_udp_payload.json".to_string(),
52 "Example-Synthetic".to_string(),
53 SyntheticsTestOptions::new()
54 .accept_self_signed(false)
55 .allow_insecure(true)
56 .follow_redirects(true)
57 .min_failure_duration(10)
58 .min_location_failed(1)
59 .monitor_name("Example-Synthetic".to_string())
60 .monitor_priority(5)
61 .retry(
62 SyntheticsTestOptionsRetry::new()
63 .count(3)
64 .interval(10.0 as f64),
65 )
66 .tick_every(60),
67 SyntheticsAPITestType::API,
68 )
69 .subtype(SyntheticsTestDetailsSubType::UDP)
70 .tags(vec!["testing:api".to_string()]);
71 let configuration = datadog::Configuration::new();
72 let api = SyntheticsAPI::with_config(configuration);
73 let resp = api.create_synthetics_api_test(body).await;
74 if let Ok(value) = resp {
75 println!("{:#?}", value);
76 } else {
77 println!("{:#?}", resp.unwrap_err());
78 }
79}
21async fn main() {
22 let body = SyntheticsAPITest::new(
23 SyntheticsAPITestConfig::new()
24 .assertions(vec![
25 SyntheticsAssertion::SyntheticsAssertionTarget(Box::new(
26 SyntheticsAssertionTarget::new(
27 SyntheticsAssertionOperator::IS,
28 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueNumber(
29 1.0 as f64,
30 ),
31 SyntheticsAssertionType::GRPC_HEALTHCHECK_STATUS,
32 ),
33 )),
34 SyntheticsAssertion::SyntheticsAssertionTarget(Box::new(
35 SyntheticsAssertionTarget::new(
36 SyntheticsAssertionOperator::IS,
37 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueString(
38 "proto target".to_string(),
39 ),
40 SyntheticsAssertionType::GRPC_PROTO,
41 ),
42 )),
43 SyntheticsAssertion::SyntheticsAssertionTarget(Box::new(
44 SyntheticsAssertionTarget::new(
45 SyntheticsAssertionOperator::IS,
46 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueString(
47 "123".to_string(),
48 ),
49 SyntheticsAssertionType::GRPC_METADATA,
50 )
51 .property("property".to_string()),
52 )),
53 ])
54 .request(
55 SyntheticsTestRequest::new()
56 .host("localhost".to_string())
57 .message("".to_string())
58 .metadata(BTreeMap::from([]))
59 .method("GET".to_string())
60 .port(SyntheticsTestRequestPort::SyntheticsTestRequestNumericalPort(50051))
61 .service("Hello".to_string()),
62 ),
63 vec!["aws:us-east-2".to_string()],
64 "BDD test payload: synthetics_api_grpc_test_payload.json".to_string(),
65 "Example-Synthetic".to_string(),
66 SyntheticsTestOptions::new()
67 .min_failure_duration(0)
68 .min_location_failed(1)
69 .monitor_name("Example-Synthetic".to_string())
70 .monitor_options(SyntheticsTestOptionsMonitorOptions::new().renotify_interval(0))
71 .tick_every(60),
72 SyntheticsAPITestType::API,
73 )
74 .subtype(SyntheticsTestDetailsSubType::GRPC)
75 .tags(vec!["testing:api".to_string()]);
76 let configuration = datadog::Configuration::new();
77 let api = SyntheticsAPI::with_config(configuration);
78 let resp = api.create_synthetics_api_test(body).await;
79 if let Ok(value) = resp {
80 println!("{:#?}", value);
81 } else {
82 println!("{:#?}", resp.unwrap_err());
83 }
84}
- examples/v1_synthetics_UpdateAPITest.rs
- examples/v1_synthetics_CreateSyntheticsAPITest_1241981394.rs
- examples/v1_synthetics_CreateSyntheticsAPITest_960766374.rs
- examples/v1_synthetics_CreateSyntheticsAPITest_1487281163.rs
- examples/v1_synthetics_CreateSyntheticsAPITest_1987645492.rs
- examples/v1_synthetics_CreateSyntheticsAPITest_1279271422.rs
Sourcepub fn monitor_name(self, value: String) -> Self
pub fn monitor_name(self, value: String) -> Self
Examples found in repository?
19async fn main() {
20 let body = SyntheticsAPITest::new(
21 SyntheticsAPITestConfig::new()
22 .assertions(vec![
23 SyntheticsAssertion::SyntheticsAssertionTarget(Box::new(
24 SyntheticsAssertionTarget::new(
25 SyntheticsAssertionOperator::IS,
26 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueString(
27 "message".to_string(),
28 ),
29 SyntheticsAssertionType::RECEIVED_MESSAGE,
30 ),
31 )),
32 SyntheticsAssertion::SyntheticsAssertionTarget(Box::new(
33 SyntheticsAssertionTarget::new(
34 SyntheticsAssertionOperator::LESS_THAN,
35 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueNumber(
36 2000.0 as f64,
37 ),
38 SyntheticsAssertionType::RESPONSE_TIME,
39 ),
40 )),
41 ])
42 .config_variables(vec![])
43 .request(
44 SyntheticsTestRequest::new()
45 .message("message".to_string())
46 .url("ws://datadoghq.com".to_string()),
47 ),
48 vec!["aws:us-east-2".to_string()],
49 "BDD test payload: synthetics_api_test_websocket_payload.json".to_string(),
50 "Example-Synthetic".to_string(),
51 SyntheticsTestOptions::new()
52 .accept_self_signed(false)
53 .allow_insecure(true)
54 .follow_redirects(true)
55 .min_failure_duration(10)
56 .min_location_failed(1)
57 .monitor_name("Example-Synthetic".to_string())
58 .monitor_priority(5)
59 .retry(
60 SyntheticsTestOptionsRetry::new()
61 .count(3)
62 .interval(10.0 as f64),
63 )
64 .tick_every(60),
65 SyntheticsAPITestType::API,
66 )
67 .subtype(SyntheticsTestDetailsSubType::WEBSOCKET)
68 .tags(vec!["testing:api".to_string()]);
69 let configuration = datadog::Configuration::new();
70 let api = SyntheticsAPI::with_config(configuration);
71 let resp = api.create_synthetics_api_test(body).await;
72 if let Ok(value) = resp {
73 println!("{:#?}", value);
74 } else {
75 println!("{:#?}", resp.unwrap_err());
76 }
77}
More examples
20async fn main() {
21 let body = SyntheticsAPITest::new(
22 SyntheticsAPITestConfig::new()
23 .assertions(vec![
24 SyntheticsAssertion::SyntheticsAssertionTarget(Box::new(
25 SyntheticsAssertionTarget::new(
26 SyntheticsAssertionOperator::IS,
27 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueString(
28 "message".to_string(),
29 ),
30 SyntheticsAssertionType::RECEIVED_MESSAGE,
31 ),
32 )),
33 SyntheticsAssertion::SyntheticsAssertionTarget(Box::new(
34 SyntheticsAssertionTarget::new(
35 SyntheticsAssertionOperator::LESS_THAN,
36 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueNumber(
37 2000.0 as f64,
38 ),
39 SyntheticsAssertionType::RESPONSE_TIME,
40 ),
41 )),
42 ])
43 .config_variables(vec![])
44 .request(
45 SyntheticsTestRequest::new()
46 .host("https://datadoghq.com".to_string())
47 .message("message".to_string())
48 .port(SyntheticsTestRequestPort::SyntheticsTestRequestNumericalPort(443)),
49 ),
50 vec!["aws:us-east-2".to_string()],
51 "BDD test payload: synthetics_api_test_udp_payload.json".to_string(),
52 "Example-Synthetic".to_string(),
53 SyntheticsTestOptions::new()
54 .accept_self_signed(false)
55 .allow_insecure(true)
56 .follow_redirects(true)
57 .min_failure_duration(10)
58 .min_location_failed(1)
59 .monitor_name("Example-Synthetic".to_string())
60 .monitor_priority(5)
61 .retry(
62 SyntheticsTestOptionsRetry::new()
63 .count(3)
64 .interval(10.0 as f64),
65 )
66 .tick_every(60),
67 SyntheticsAPITestType::API,
68 )
69 .subtype(SyntheticsTestDetailsSubType::UDP)
70 .tags(vec!["testing:api".to_string()]);
71 let configuration = datadog::Configuration::new();
72 let api = SyntheticsAPI::with_config(configuration);
73 let resp = api.create_synthetics_api_test(body).await;
74 if let Ok(value) = resp {
75 println!("{:#?}", value);
76 } else {
77 println!("{:#?}", resp.unwrap_err());
78 }
79}
21async fn main() {
22 let body = SyntheticsAPITest::new(
23 SyntheticsAPITestConfig::new()
24 .assertions(vec![
25 SyntheticsAssertion::SyntheticsAssertionTarget(Box::new(
26 SyntheticsAssertionTarget::new(
27 SyntheticsAssertionOperator::IS,
28 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueNumber(
29 1.0 as f64,
30 ),
31 SyntheticsAssertionType::GRPC_HEALTHCHECK_STATUS,
32 ),
33 )),
34 SyntheticsAssertion::SyntheticsAssertionTarget(Box::new(
35 SyntheticsAssertionTarget::new(
36 SyntheticsAssertionOperator::IS,
37 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueString(
38 "proto target".to_string(),
39 ),
40 SyntheticsAssertionType::GRPC_PROTO,
41 ),
42 )),
43 SyntheticsAssertion::SyntheticsAssertionTarget(Box::new(
44 SyntheticsAssertionTarget::new(
45 SyntheticsAssertionOperator::IS,
46 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueString(
47 "123".to_string(),
48 ),
49 SyntheticsAssertionType::GRPC_METADATA,
50 )
51 .property("property".to_string()),
52 )),
53 ])
54 .request(
55 SyntheticsTestRequest::new()
56 .host("localhost".to_string())
57 .message("".to_string())
58 .metadata(BTreeMap::from([]))
59 .method("GET".to_string())
60 .port(SyntheticsTestRequestPort::SyntheticsTestRequestNumericalPort(50051))
61 .service("Hello".to_string()),
62 ),
63 vec!["aws:us-east-2".to_string()],
64 "BDD test payload: synthetics_api_grpc_test_payload.json".to_string(),
65 "Example-Synthetic".to_string(),
66 SyntheticsTestOptions::new()
67 .min_failure_duration(0)
68 .min_location_failed(1)
69 .monitor_name("Example-Synthetic".to_string())
70 .monitor_options(SyntheticsTestOptionsMonitorOptions::new().renotify_interval(0))
71 .tick_every(60),
72 SyntheticsAPITestType::API,
73 )
74 .subtype(SyntheticsTestDetailsSubType::GRPC)
75 .tags(vec!["testing:api".to_string()]);
76 let configuration = datadog::Configuration::new();
77 let api = SyntheticsAPI::with_config(configuration);
78 let resp = api.create_synthetics_api_test(body).await;
79 if let Ok(value) = resp {
80 println!("{:#?}", value);
81 } else {
82 println!("{:#?}", resp.unwrap_err());
83 }
84}
31async fn main() {
32 // there is a valid "synthetics_api_test" in the system
33 let synthetics_api_test_public_id = std::env::var("SYNTHETICS_API_TEST_PUBLIC_ID").unwrap();
34 let body =
35 SyntheticsAPITest::new(
36 SyntheticsAPITestConfig::new()
37 .assertions(
38 vec![
39 SyntheticsAssertion::SyntheticsAssertionTarget(
40 Box::new(
41 SyntheticsAssertionTarget::new(
42 SyntheticsAssertionOperator::IS,
43 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueString(
44 "text/html".to_string(),
45 ),
46 SyntheticsAssertionType::HEADER,
47 ).property("{{ PROPERTY }}".to_string()),
48 ),
49 ),
50 SyntheticsAssertion::SyntheticsAssertionTarget(
51 Box::new(
52 SyntheticsAssertionTarget::new(
53 SyntheticsAssertionOperator::LESS_THAN,
54 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueNumber(
55 2000.0 as f64,
56 ),
57 SyntheticsAssertionType::RESPONSE_TIME,
58 ),
59 ),
60 ),
61 SyntheticsAssertion::SyntheticsAssertionJSONPathTarget(
62 Box::new(
63 SyntheticsAssertionJSONPathTarget::new(
64 SyntheticsAssertionJSONPathOperator::VALIDATES_JSON_PATH,
65 SyntheticsAssertionType::BODY,
66 ).target(
67 SyntheticsAssertionJSONPathTargetTarget::new()
68 .json_path("topKey".to_string())
69 .operator("isNot".to_string())
70 .target_value(
71 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueString(
72 "0".to_string(),
73 ),
74 ),
75 ),
76 ),
77 ),
78 SyntheticsAssertion::SyntheticsAssertionJSONSchemaTarget(
79 Box::new(
80 SyntheticsAssertionJSONSchemaTarget::new(
81 SyntheticsAssertionJSONSchemaOperator::VALIDATES_JSON_SCHEMA,
82 SyntheticsAssertionType::BODY,
83 ).target(
84 SyntheticsAssertionJSONSchemaTargetTarget::new()
85 .json_schema(
86 r#"{"type": "object", "properties":{"slideshow":{"type":"object"}}}"#.to_string(),
87 )
88 .meta_schema(SyntheticsAssertionJSONSchemaMetaSchema::DRAFT_07),
89 ),
90 ),
91 )
92 ],
93 )
94 .config_variables(
95 vec![
96 SyntheticsConfigVariable::new("PROPERTY".to_string(), SyntheticsConfigVariableType::TEXT)
97 .example("content-type".to_string())
98 .pattern("content-type".to_string())
99 ],
100 )
101 .request(
102 SyntheticsTestRequest::new()
103 .certificate(
104 SyntheticsTestRequestCertificate::new()
105 .cert(
106 SyntheticsTestRequestCertificateItem::new()
107 .filename("cert-filename".to_string())
108 .updated_at("2020-10-16T09:23:24.857Z".to_string()),
109 )
110 .key(
111 SyntheticsTestRequestCertificateItem::new()
112 .filename("key-filename".to_string())
113 .updated_at("2020-10-16T09:23:24.857Z".to_string()),
114 ),
115 )
116 .headers(BTreeMap::from([("unique".to_string(), "examplesynthetic".to_string())]))
117 .method("GET".to_string())
118 .timeout(10.0 as f64)
119 .url("https://datadoghq.com".to_string()),
120 ),
121 vec!["aws:us-east-2".to_string()],
122 "BDD test payload: synthetics_api_test_payload.json".to_string(),
123 "Example-Synthetic-updated".to_string(),
124 SyntheticsTestOptions::new()
125 .accept_self_signed(false)
126 .allow_insecure(true)
127 .follow_redirects(true)
128 .min_failure_duration(10)
129 .min_location_failed(1)
130 .monitor_name("Test-TestSyntheticsAPITestLifecycle-1623076664".to_string())
131 .monitor_priority(5)
132 .retry(SyntheticsTestOptionsRetry::new().count(3).interval(10.0 as f64))
133 .tick_every(60),
134 SyntheticsAPITestType::API,
135 )
136 .status(SyntheticsTestPauseStatus::LIVE)
137 .subtype(SyntheticsTestDetailsSubType::HTTP)
138 .tags(vec!["testing:api".to_string()]);
139 let configuration = datadog::Configuration::new();
140 let api = SyntheticsAPI::with_config(configuration);
141 let resp = api
142 .update_api_test(synthetics_api_test_public_id.clone(), body)
143 .await;
144 if let Ok(value) = resp {
145 println!("{:#?}", value);
146 } else {
147 println!("{:#?}", resp.unwrap_err());
148 }
149}
39async fn main() {
40 let body =
41 SyntheticsAPITest::new(
42 SyntheticsAPITestConfig::new()
43 .assertions(
44 vec![
45 SyntheticsAssertion::SyntheticsAssertionTarget(
46 Box::new(
47 SyntheticsAssertionTarget::new(
48 SyntheticsAssertionOperator::IS,
49 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueString(
50 "text/html".to_string(),
51 ),
52 SyntheticsAssertionType::HEADER,
53 ).property("{{ PROPERTY }}".to_string()),
54 ),
55 ),
56 SyntheticsAssertion::SyntheticsAssertionTarget(
57 Box::new(
58 SyntheticsAssertionTarget::new(
59 SyntheticsAssertionOperator::LESS_THAN,
60 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueNumber(
61 2000.0 as f64,
62 ),
63 SyntheticsAssertionType::RESPONSE_TIME,
64 ).timings_scope(SyntheticsAssertionTimingsScope::WITHOUT_DNS),
65 ),
66 ),
67 SyntheticsAssertion::SyntheticsAssertionJSONPathTarget(
68 Box::new(
69 SyntheticsAssertionJSONPathTarget::new(
70 SyntheticsAssertionJSONPathOperator::VALIDATES_JSON_PATH,
71 SyntheticsAssertionType::BODY,
72 ).target(
73 SyntheticsAssertionJSONPathTargetTarget::new()
74 .json_path("topKey".to_string())
75 .operator("isNot".to_string())
76 .target_value(
77 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueString(
78 "0".to_string(),
79 ),
80 ),
81 ),
82 ),
83 ),
84 SyntheticsAssertion::SyntheticsAssertionXPathTarget(
85 Box::new(
86 SyntheticsAssertionXPathTarget::new(
87 SyntheticsAssertionXPathOperator::VALIDATES_X_PATH,
88 SyntheticsAssertionType::BODY,
89 ).target(
90 SyntheticsAssertionXPathTargetTarget::new()
91 .operator("contains".to_string())
92 .target_value(
93 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueString(
94 "0".to_string(),
95 ),
96 )
97 .x_path("target-xpath".to_string()),
98 ),
99 ),
100 )
101 ],
102 )
103 .config_variables(
104 vec![
105 SyntheticsConfigVariable::new("PROPERTY".to_string(), SyntheticsConfigVariableType::TEXT)
106 .example("content-type".to_string())
107 .pattern("content-type".to_string())
108 ],
109 )
110 .request(
111 SyntheticsTestRequest::new()
112 .basic_auth(
113 SyntheticsBasicAuth::SyntheticsBasicAuthOauthClient(
114 Box::new(
115 SyntheticsBasicAuthOauthClient::new(
116 "https://datadog-token.com".to_string(),
117 "client-id".to_string(),
118 "client-secret".to_string(),
119 SyntheticsBasicAuthOauthTokenApiAuthentication::HEADER,
120 SyntheticsBasicAuthOauthClientType::OAUTH_CLIENT,
121 )
122 .audience("audience".to_string())
123 .resource("resource".to_string())
124 .scope("yoyo".to_string()),
125 ),
126 ),
127 )
128 .body_type(SyntheticsTestRequestBodyType::APPLICATION_OCTET_STREAM)
129 .certificate(
130 SyntheticsTestRequestCertificate::new()
131 .cert(
132 SyntheticsTestRequestCertificateItem::new()
133 .content("cert-content".to_string())
134 .filename("cert-filename".to_string())
135 .updated_at("2020-10-16T09:23:24.857Z".to_string()),
136 )
137 .key(
138 SyntheticsTestRequestCertificateItem::new()
139 .content("key-content".to_string())
140 .filename("key-filename".to_string())
141 .updated_at("2020-10-16T09:23:24.857Z".to_string()),
142 ),
143 )
144 .files(
145 vec![
146 SyntheticsTestRequestBodyFile::new()
147 .content("file content".to_string())
148 .name("file name".to_string())
149 .original_file_name("image.png".to_string())
150 .type_("file type".to_string())
151 ],
152 )
153 .headers(BTreeMap::from([("unique".to_string(), "examplesynthetic".to_string())]))
154 .method("GET".to_string())
155 .persist_cookies(true)
156 .proxy(
157 SyntheticsTestRequestProxy::new(
158 "https://datadoghq.com".to_string(),
159 ).headers(BTreeMap::from([])),
160 )
161 .timeout(10.0 as f64)
162 .url("https://datadoghq.com".to_string()),
163 ),
164 vec!["aws:us-east-2".to_string()],
165 "BDD test payload: synthetics_api_http_test_payload.json".to_string(),
166 "Example-Synthetic".to_string(),
167 SyntheticsTestOptions::new()
168 .accept_self_signed(false)
169 .allow_insecure(true)
170 .follow_redirects(true)
171 .http_version(SyntheticsTestOptionsHTTPVersion::HTTP2)
172 .min_failure_duration(10)
173 .min_location_failed(1)
174 .monitor_name("Example-Synthetic".to_string())
175 .monitor_priority(5)
176 .retry(SyntheticsTestOptionsRetry::new().count(3).interval(10.0 as f64))
177 .tick_every(60),
178 SyntheticsAPITestType::API,
179 )
180 .subtype(SyntheticsTestDetailsSubType::HTTP)
181 .tags(vec!["testing:api".to_string()]);
182 let configuration = datadog::Configuration::new();
183 let api = SyntheticsAPI::with_config(configuration);
184 let resp = api.create_synthetics_api_test(body).await;
185 if let Ok(value) = resp {
186 println!("{:#?}", value);
187 } else {
188 println!("{:#?}", resp.unwrap_err());
189 }
190}
39async fn main() {
40 let body =
41 SyntheticsAPITest::new(
42 SyntheticsAPITestConfig::new()
43 .assertions(
44 vec![
45 SyntheticsAssertion::SyntheticsAssertionTarget(
46 Box::new(
47 SyntheticsAssertionTarget::new(
48 SyntheticsAssertionOperator::IS,
49 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueString(
50 "text/html".to_string(),
51 ),
52 SyntheticsAssertionType::HEADER,
53 ).property("{{ PROPERTY }}".to_string()),
54 ),
55 ),
56 SyntheticsAssertion::SyntheticsAssertionTarget(
57 Box::new(
58 SyntheticsAssertionTarget::new(
59 SyntheticsAssertionOperator::LESS_THAN,
60 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueNumber(
61 2000.0 as f64,
62 ),
63 SyntheticsAssertionType::RESPONSE_TIME,
64 ),
65 ),
66 ),
67 SyntheticsAssertion::SyntheticsAssertionJSONPathTarget(
68 Box::new(
69 SyntheticsAssertionJSONPathTarget::new(
70 SyntheticsAssertionJSONPathOperator::VALIDATES_JSON_PATH,
71 SyntheticsAssertionType::BODY,
72 ).target(
73 SyntheticsAssertionJSONPathTargetTarget::new()
74 .json_path("topKey".to_string())
75 .operator("isNot".to_string())
76 .target_value(
77 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueString(
78 "0".to_string(),
79 ),
80 ),
81 ),
82 ),
83 ),
84 SyntheticsAssertion::SyntheticsAssertionJSONSchemaTarget(
85 Box::new(
86 SyntheticsAssertionJSONSchemaTarget::new(
87 SyntheticsAssertionJSONSchemaOperator::VALIDATES_JSON_SCHEMA,
88 SyntheticsAssertionType::BODY,
89 ).target(
90 SyntheticsAssertionJSONSchemaTargetTarget::new()
91 .json_schema(
92 r#"{"type": "object", "properties":{"slideshow":{"type":"object"}}}"#.to_string(),
93 )
94 .meta_schema(SyntheticsAssertionJSONSchemaMetaSchema::DRAFT_07),
95 ),
96 ),
97 ),
98 SyntheticsAssertion::SyntheticsAssertionXPathTarget(
99 Box::new(
100 SyntheticsAssertionXPathTarget::new(
101 SyntheticsAssertionXPathOperator::VALIDATES_X_PATH,
102 SyntheticsAssertionType::BODY,
103 ).target(
104 SyntheticsAssertionXPathTargetTarget::new()
105 .operator("contains".to_string())
106 .target_value(
107 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueString(
108 "0".to_string(),
109 ),
110 )
111 .x_path("target-xpath".to_string()),
112 ),
113 ),
114 )
115 ],
116 )
117 .config_variables(
118 vec![
119 SyntheticsConfigVariable::new("PROPERTY".to_string(), SyntheticsConfigVariableType::TEXT)
120 .example("content-type".to_string())
121 .pattern("content-type".to_string())
122 ],
123 )
124 .request(
125 SyntheticsTestRequest::new()
126 .basic_auth(
127 SyntheticsBasicAuth::SyntheticsBasicAuthOauthROP(
128 Box::new(
129 SyntheticsBasicAuthOauthROP::new(
130 "https://datadog-token.com".to_string(),
131 "oauth-password".to_string(),
132 SyntheticsBasicAuthOauthTokenApiAuthentication::BODY,
133 SyntheticsBasicAuthOauthROPType::OAUTH_ROP,
134 "oauth-usermame".to_string(),
135 )
136 .audience("audience".to_string())
137 .client_id("client-id".to_string())
138 .client_secret("client-secret".to_string())
139 .resource("resource".to_string())
140 .scope("yoyo".to_string()),
141 ),
142 ),
143 )
144 .certificate(
145 SyntheticsTestRequestCertificate::new()
146 .cert(
147 SyntheticsTestRequestCertificateItem::new()
148 .content("cert-content".to_string())
149 .filename("cert-filename".to_string())
150 .updated_at("2020-10-16T09:23:24.857Z".to_string()),
151 )
152 .key(
153 SyntheticsTestRequestCertificateItem::new()
154 .content("key-content".to_string())
155 .filename("key-filename".to_string())
156 .updated_at("2020-10-16T09:23:24.857Z".to_string()),
157 ),
158 )
159 .headers(BTreeMap::from([("unique".to_string(), "examplesynthetic".to_string())]))
160 .method("GET".to_string())
161 .proxy(
162 SyntheticsTestRequestProxy::new(
163 "https://datadoghq.com".to_string(),
164 ).headers(BTreeMap::from([])),
165 )
166 .timeout(10.0 as f64)
167 .url("https://datadoghq.com".to_string()),
168 ),
169 vec!["aws:us-east-2".to_string()],
170 "BDD test payload: synthetics_api_http_test_payload.json".to_string(),
171 "Example-Synthetic".to_string(),
172 SyntheticsTestOptions::new()
173 .accept_self_signed(false)
174 .allow_insecure(true)
175 .follow_redirects(true)
176 .min_failure_duration(10)
177 .min_location_failed(1)
178 .monitor_name("Example-Synthetic".to_string())
179 .monitor_priority(5)
180 .retry(SyntheticsTestOptionsRetry::new().count(3).interval(10.0 as f64))
181 .tick_every(60),
182 SyntheticsAPITestType::API,
183 )
184 .subtype(SyntheticsTestDetailsSubType::HTTP)
185 .tags(vec!["testing:api".to_string()]);
186 let configuration = datadog::Configuration::new();
187 let api = SyntheticsAPI::with_config(configuration);
188 let resp = api.create_synthetics_api_test(body).await;
189 if let Ok(value) = resp {
190 println!("{:#?}", value);
191 } else {
192 println!("{:#?}", resp.unwrap_err());
193 }
194}
Sourcepub fn monitor_options(self, value: SyntheticsTestOptionsMonitorOptions) -> Self
pub fn monitor_options(self, value: SyntheticsTestOptionsMonitorOptions) -> Self
Examples found in repository?
27async fn main() {
28 let body = SyntheticsAPITest::new(
29 SyntheticsAPITestConfig::new()
30 .assertions(vec![SyntheticsAssertion::SyntheticsAssertionTarget(
31 Box::new(SyntheticsAssertionTarget::new(
32 SyntheticsAssertionOperator::LESS_THAN,
33 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueNumber(
34 1000.0 as f64,
35 ),
36 SyntheticsAssertionType::RESPONSE_TIME,
37 )),
38 )])
39 .request(
40 SyntheticsTestRequest::new()
41 .method("GET".to_string())
42 .url("https://example.com".to_string()),
43 ),
44 vec!["aws:eu-west-3".to_string()],
45 "Notification message".to_string(),
46 "Example test name".to_string(),
47 SyntheticsTestOptions::new()
48 .ci(SyntheticsTestCiOptions::new(
49 SyntheticsTestExecutionRule::BLOCKING,
50 ))
51 .device_ids(vec!["chrome.laptop_large".to_string()])
52 .http_version(SyntheticsTestOptionsHTTPVersion::HTTP1)
53 .monitor_options(
54 SyntheticsTestOptionsMonitorOptions::new().notification_preset_name(
55 SyntheticsTestOptionsMonitorOptionsNotificationPresetName::SHOW_ALL,
56 ),
57 )
58 .restricted_roles(vec!["xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx".to_string()])
59 .retry(SyntheticsTestOptionsRetry::new())
60 .rum_settings(
61 SyntheticsBrowserTestRumSettings::new(true)
62 .application_id("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx".to_string())
63 .client_token_id(12345),
64 )
65 .scheduling(SyntheticsTestOptionsScheduling::new(
66 vec![
67 SyntheticsTestOptionsSchedulingTimeframe::new(
68 1,
69 "07:00".to_string(),
70 "16:00".to_string(),
71 ),
72 SyntheticsTestOptionsSchedulingTimeframe::new(
73 3,
74 "07:00".to_string(),
75 "16:00".to_string(),
76 ),
77 ],
78 "America/New_York".to_string(),
79 )),
80 SyntheticsAPITestType::API,
81 )
82 .status(SyntheticsTestPauseStatus::LIVE)
83 .subtype(SyntheticsTestDetailsSubType::HTTP)
84 .tags(vec!["env:production".to_string()]);
85 let configuration = datadog::Configuration::new();
86 let api = SyntheticsAPI::with_config(configuration);
87 let resp = api.create_synthetics_api_test(body).await;
88 if let Ok(value) = resp {
89 println!("{:#?}", value);
90 } else {
91 println!("{:#?}", resp.unwrap_err());
92 }
93}
More examples
21async fn main() {
22 let body = SyntheticsAPITest::new(
23 SyntheticsAPITestConfig::new()
24 .assertions(vec![
25 SyntheticsAssertion::SyntheticsAssertionTarget(Box::new(
26 SyntheticsAssertionTarget::new(
27 SyntheticsAssertionOperator::IS,
28 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueNumber(
29 1.0 as f64,
30 ),
31 SyntheticsAssertionType::GRPC_HEALTHCHECK_STATUS,
32 ),
33 )),
34 SyntheticsAssertion::SyntheticsAssertionTarget(Box::new(
35 SyntheticsAssertionTarget::new(
36 SyntheticsAssertionOperator::IS,
37 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueString(
38 "proto target".to_string(),
39 ),
40 SyntheticsAssertionType::GRPC_PROTO,
41 ),
42 )),
43 SyntheticsAssertion::SyntheticsAssertionTarget(Box::new(
44 SyntheticsAssertionTarget::new(
45 SyntheticsAssertionOperator::IS,
46 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueString(
47 "123".to_string(),
48 ),
49 SyntheticsAssertionType::GRPC_METADATA,
50 )
51 .property("property".to_string()),
52 )),
53 ])
54 .request(
55 SyntheticsTestRequest::new()
56 .host("localhost".to_string())
57 .message("".to_string())
58 .metadata(BTreeMap::from([]))
59 .method("GET".to_string())
60 .port(SyntheticsTestRequestPort::SyntheticsTestRequestNumericalPort(50051))
61 .service("Hello".to_string()),
62 ),
63 vec!["aws:us-east-2".to_string()],
64 "BDD test payload: synthetics_api_grpc_test_payload.json".to_string(),
65 "Example-Synthetic".to_string(),
66 SyntheticsTestOptions::new()
67 .min_failure_duration(0)
68 .min_location_failed(1)
69 .monitor_name("Example-Synthetic".to_string())
70 .monitor_options(SyntheticsTestOptionsMonitorOptions::new().renotify_interval(0))
71 .tick_every(60),
72 SyntheticsAPITestType::API,
73 )
74 .subtype(SyntheticsTestDetailsSubType::GRPC)
75 .tags(vec!["testing:api".to_string()]);
76 let configuration = datadog::Configuration::new();
77 let api = SyntheticsAPI::with_config(configuration);
78 let resp = api.create_synthetics_api_test(body).await;
79 if let Ok(value) = resp {
80 println!("{:#?}", value);
81 } else {
82 println!("{:#?}", resp.unwrap_err());
83 }
84}
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}
Sourcepub fn monitor_priority(self, value: i32) -> Self
pub fn monitor_priority(self, value: i32) -> Self
Examples found in repository?
19async fn main() {
20 let body = SyntheticsAPITest::new(
21 SyntheticsAPITestConfig::new()
22 .assertions(vec![
23 SyntheticsAssertion::SyntheticsAssertionTarget(Box::new(
24 SyntheticsAssertionTarget::new(
25 SyntheticsAssertionOperator::IS,
26 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueString(
27 "message".to_string(),
28 ),
29 SyntheticsAssertionType::RECEIVED_MESSAGE,
30 ),
31 )),
32 SyntheticsAssertion::SyntheticsAssertionTarget(Box::new(
33 SyntheticsAssertionTarget::new(
34 SyntheticsAssertionOperator::LESS_THAN,
35 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueNumber(
36 2000.0 as f64,
37 ),
38 SyntheticsAssertionType::RESPONSE_TIME,
39 ),
40 )),
41 ])
42 .config_variables(vec![])
43 .request(
44 SyntheticsTestRequest::new()
45 .message("message".to_string())
46 .url("ws://datadoghq.com".to_string()),
47 ),
48 vec!["aws:us-east-2".to_string()],
49 "BDD test payload: synthetics_api_test_websocket_payload.json".to_string(),
50 "Example-Synthetic".to_string(),
51 SyntheticsTestOptions::new()
52 .accept_self_signed(false)
53 .allow_insecure(true)
54 .follow_redirects(true)
55 .min_failure_duration(10)
56 .min_location_failed(1)
57 .monitor_name("Example-Synthetic".to_string())
58 .monitor_priority(5)
59 .retry(
60 SyntheticsTestOptionsRetry::new()
61 .count(3)
62 .interval(10.0 as f64),
63 )
64 .tick_every(60),
65 SyntheticsAPITestType::API,
66 )
67 .subtype(SyntheticsTestDetailsSubType::WEBSOCKET)
68 .tags(vec!["testing:api".to_string()]);
69 let configuration = datadog::Configuration::new();
70 let api = SyntheticsAPI::with_config(configuration);
71 let resp = api.create_synthetics_api_test(body).await;
72 if let Ok(value) = resp {
73 println!("{:#?}", value);
74 } else {
75 println!("{:#?}", resp.unwrap_err());
76 }
77}
More examples
20async fn main() {
21 let body = SyntheticsAPITest::new(
22 SyntheticsAPITestConfig::new()
23 .assertions(vec![
24 SyntheticsAssertion::SyntheticsAssertionTarget(Box::new(
25 SyntheticsAssertionTarget::new(
26 SyntheticsAssertionOperator::IS,
27 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueString(
28 "message".to_string(),
29 ),
30 SyntheticsAssertionType::RECEIVED_MESSAGE,
31 ),
32 )),
33 SyntheticsAssertion::SyntheticsAssertionTarget(Box::new(
34 SyntheticsAssertionTarget::new(
35 SyntheticsAssertionOperator::LESS_THAN,
36 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueNumber(
37 2000.0 as f64,
38 ),
39 SyntheticsAssertionType::RESPONSE_TIME,
40 ),
41 )),
42 ])
43 .config_variables(vec![])
44 .request(
45 SyntheticsTestRequest::new()
46 .host("https://datadoghq.com".to_string())
47 .message("message".to_string())
48 .port(SyntheticsTestRequestPort::SyntheticsTestRequestNumericalPort(443)),
49 ),
50 vec!["aws:us-east-2".to_string()],
51 "BDD test payload: synthetics_api_test_udp_payload.json".to_string(),
52 "Example-Synthetic".to_string(),
53 SyntheticsTestOptions::new()
54 .accept_self_signed(false)
55 .allow_insecure(true)
56 .follow_redirects(true)
57 .min_failure_duration(10)
58 .min_location_failed(1)
59 .monitor_name("Example-Synthetic".to_string())
60 .monitor_priority(5)
61 .retry(
62 SyntheticsTestOptionsRetry::new()
63 .count(3)
64 .interval(10.0 as f64),
65 )
66 .tick_every(60),
67 SyntheticsAPITestType::API,
68 )
69 .subtype(SyntheticsTestDetailsSubType::UDP)
70 .tags(vec!["testing:api".to_string()]);
71 let configuration = datadog::Configuration::new();
72 let api = SyntheticsAPI::with_config(configuration);
73 let resp = api.create_synthetics_api_test(body).await;
74 if let Ok(value) = resp {
75 println!("{:#?}", value);
76 } else {
77 println!("{:#?}", resp.unwrap_err());
78 }
79}
31async fn main() {
32 // there is a valid "synthetics_api_test" in the system
33 let synthetics_api_test_public_id = std::env::var("SYNTHETICS_API_TEST_PUBLIC_ID").unwrap();
34 let body =
35 SyntheticsAPITest::new(
36 SyntheticsAPITestConfig::new()
37 .assertions(
38 vec![
39 SyntheticsAssertion::SyntheticsAssertionTarget(
40 Box::new(
41 SyntheticsAssertionTarget::new(
42 SyntheticsAssertionOperator::IS,
43 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueString(
44 "text/html".to_string(),
45 ),
46 SyntheticsAssertionType::HEADER,
47 ).property("{{ PROPERTY }}".to_string()),
48 ),
49 ),
50 SyntheticsAssertion::SyntheticsAssertionTarget(
51 Box::new(
52 SyntheticsAssertionTarget::new(
53 SyntheticsAssertionOperator::LESS_THAN,
54 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueNumber(
55 2000.0 as f64,
56 ),
57 SyntheticsAssertionType::RESPONSE_TIME,
58 ),
59 ),
60 ),
61 SyntheticsAssertion::SyntheticsAssertionJSONPathTarget(
62 Box::new(
63 SyntheticsAssertionJSONPathTarget::new(
64 SyntheticsAssertionJSONPathOperator::VALIDATES_JSON_PATH,
65 SyntheticsAssertionType::BODY,
66 ).target(
67 SyntheticsAssertionJSONPathTargetTarget::new()
68 .json_path("topKey".to_string())
69 .operator("isNot".to_string())
70 .target_value(
71 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueString(
72 "0".to_string(),
73 ),
74 ),
75 ),
76 ),
77 ),
78 SyntheticsAssertion::SyntheticsAssertionJSONSchemaTarget(
79 Box::new(
80 SyntheticsAssertionJSONSchemaTarget::new(
81 SyntheticsAssertionJSONSchemaOperator::VALIDATES_JSON_SCHEMA,
82 SyntheticsAssertionType::BODY,
83 ).target(
84 SyntheticsAssertionJSONSchemaTargetTarget::new()
85 .json_schema(
86 r#"{"type": "object", "properties":{"slideshow":{"type":"object"}}}"#.to_string(),
87 )
88 .meta_schema(SyntheticsAssertionJSONSchemaMetaSchema::DRAFT_07),
89 ),
90 ),
91 )
92 ],
93 )
94 .config_variables(
95 vec![
96 SyntheticsConfigVariable::new("PROPERTY".to_string(), SyntheticsConfigVariableType::TEXT)
97 .example("content-type".to_string())
98 .pattern("content-type".to_string())
99 ],
100 )
101 .request(
102 SyntheticsTestRequest::new()
103 .certificate(
104 SyntheticsTestRequestCertificate::new()
105 .cert(
106 SyntheticsTestRequestCertificateItem::new()
107 .filename("cert-filename".to_string())
108 .updated_at("2020-10-16T09:23:24.857Z".to_string()),
109 )
110 .key(
111 SyntheticsTestRequestCertificateItem::new()
112 .filename("key-filename".to_string())
113 .updated_at("2020-10-16T09:23:24.857Z".to_string()),
114 ),
115 )
116 .headers(BTreeMap::from([("unique".to_string(), "examplesynthetic".to_string())]))
117 .method("GET".to_string())
118 .timeout(10.0 as f64)
119 .url("https://datadoghq.com".to_string()),
120 ),
121 vec!["aws:us-east-2".to_string()],
122 "BDD test payload: synthetics_api_test_payload.json".to_string(),
123 "Example-Synthetic-updated".to_string(),
124 SyntheticsTestOptions::new()
125 .accept_self_signed(false)
126 .allow_insecure(true)
127 .follow_redirects(true)
128 .min_failure_duration(10)
129 .min_location_failed(1)
130 .monitor_name("Test-TestSyntheticsAPITestLifecycle-1623076664".to_string())
131 .monitor_priority(5)
132 .retry(SyntheticsTestOptionsRetry::new().count(3).interval(10.0 as f64))
133 .tick_every(60),
134 SyntheticsAPITestType::API,
135 )
136 .status(SyntheticsTestPauseStatus::LIVE)
137 .subtype(SyntheticsTestDetailsSubType::HTTP)
138 .tags(vec!["testing:api".to_string()]);
139 let configuration = datadog::Configuration::new();
140 let api = SyntheticsAPI::with_config(configuration);
141 let resp = api
142 .update_api_test(synthetics_api_test_public_id.clone(), body)
143 .await;
144 if let Ok(value) = resp {
145 println!("{:#?}", value);
146 } else {
147 println!("{:#?}", resp.unwrap_err());
148 }
149}
39async fn main() {
40 let body =
41 SyntheticsAPITest::new(
42 SyntheticsAPITestConfig::new()
43 .assertions(
44 vec![
45 SyntheticsAssertion::SyntheticsAssertionTarget(
46 Box::new(
47 SyntheticsAssertionTarget::new(
48 SyntheticsAssertionOperator::IS,
49 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueString(
50 "text/html".to_string(),
51 ),
52 SyntheticsAssertionType::HEADER,
53 ).property("{{ PROPERTY }}".to_string()),
54 ),
55 ),
56 SyntheticsAssertion::SyntheticsAssertionTarget(
57 Box::new(
58 SyntheticsAssertionTarget::new(
59 SyntheticsAssertionOperator::LESS_THAN,
60 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueNumber(
61 2000.0 as f64,
62 ),
63 SyntheticsAssertionType::RESPONSE_TIME,
64 ).timings_scope(SyntheticsAssertionTimingsScope::WITHOUT_DNS),
65 ),
66 ),
67 SyntheticsAssertion::SyntheticsAssertionJSONPathTarget(
68 Box::new(
69 SyntheticsAssertionJSONPathTarget::new(
70 SyntheticsAssertionJSONPathOperator::VALIDATES_JSON_PATH,
71 SyntheticsAssertionType::BODY,
72 ).target(
73 SyntheticsAssertionJSONPathTargetTarget::new()
74 .json_path("topKey".to_string())
75 .operator("isNot".to_string())
76 .target_value(
77 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueString(
78 "0".to_string(),
79 ),
80 ),
81 ),
82 ),
83 ),
84 SyntheticsAssertion::SyntheticsAssertionXPathTarget(
85 Box::new(
86 SyntheticsAssertionXPathTarget::new(
87 SyntheticsAssertionXPathOperator::VALIDATES_X_PATH,
88 SyntheticsAssertionType::BODY,
89 ).target(
90 SyntheticsAssertionXPathTargetTarget::new()
91 .operator("contains".to_string())
92 .target_value(
93 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueString(
94 "0".to_string(),
95 ),
96 )
97 .x_path("target-xpath".to_string()),
98 ),
99 ),
100 )
101 ],
102 )
103 .config_variables(
104 vec![
105 SyntheticsConfigVariable::new("PROPERTY".to_string(), SyntheticsConfigVariableType::TEXT)
106 .example("content-type".to_string())
107 .pattern("content-type".to_string())
108 ],
109 )
110 .request(
111 SyntheticsTestRequest::new()
112 .basic_auth(
113 SyntheticsBasicAuth::SyntheticsBasicAuthOauthClient(
114 Box::new(
115 SyntheticsBasicAuthOauthClient::new(
116 "https://datadog-token.com".to_string(),
117 "client-id".to_string(),
118 "client-secret".to_string(),
119 SyntheticsBasicAuthOauthTokenApiAuthentication::HEADER,
120 SyntheticsBasicAuthOauthClientType::OAUTH_CLIENT,
121 )
122 .audience("audience".to_string())
123 .resource("resource".to_string())
124 .scope("yoyo".to_string()),
125 ),
126 ),
127 )
128 .body_type(SyntheticsTestRequestBodyType::APPLICATION_OCTET_STREAM)
129 .certificate(
130 SyntheticsTestRequestCertificate::new()
131 .cert(
132 SyntheticsTestRequestCertificateItem::new()
133 .content("cert-content".to_string())
134 .filename("cert-filename".to_string())
135 .updated_at("2020-10-16T09:23:24.857Z".to_string()),
136 )
137 .key(
138 SyntheticsTestRequestCertificateItem::new()
139 .content("key-content".to_string())
140 .filename("key-filename".to_string())
141 .updated_at("2020-10-16T09:23:24.857Z".to_string()),
142 ),
143 )
144 .files(
145 vec![
146 SyntheticsTestRequestBodyFile::new()
147 .content("file content".to_string())
148 .name("file name".to_string())
149 .original_file_name("image.png".to_string())
150 .type_("file type".to_string())
151 ],
152 )
153 .headers(BTreeMap::from([("unique".to_string(), "examplesynthetic".to_string())]))
154 .method("GET".to_string())
155 .persist_cookies(true)
156 .proxy(
157 SyntheticsTestRequestProxy::new(
158 "https://datadoghq.com".to_string(),
159 ).headers(BTreeMap::from([])),
160 )
161 .timeout(10.0 as f64)
162 .url("https://datadoghq.com".to_string()),
163 ),
164 vec!["aws:us-east-2".to_string()],
165 "BDD test payload: synthetics_api_http_test_payload.json".to_string(),
166 "Example-Synthetic".to_string(),
167 SyntheticsTestOptions::new()
168 .accept_self_signed(false)
169 .allow_insecure(true)
170 .follow_redirects(true)
171 .http_version(SyntheticsTestOptionsHTTPVersion::HTTP2)
172 .min_failure_duration(10)
173 .min_location_failed(1)
174 .monitor_name("Example-Synthetic".to_string())
175 .monitor_priority(5)
176 .retry(SyntheticsTestOptionsRetry::new().count(3).interval(10.0 as f64))
177 .tick_every(60),
178 SyntheticsAPITestType::API,
179 )
180 .subtype(SyntheticsTestDetailsSubType::HTTP)
181 .tags(vec!["testing:api".to_string()]);
182 let configuration = datadog::Configuration::new();
183 let api = SyntheticsAPI::with_config(configuration);
184 let resp = api.create_synthetics_api_test(body).await;
185 if let Ok(value) = resp {
186 println!("{:#?}", value);
187 } else {
188 println!("{:#?}", resp.unwrap_err());
189 }
190}
39async fn main() {
40 let body =
41 SyntheticsAPITest::new(
42 SyntheticsAPITestConfig::new()
43 .assertions(
44 vec![
45 SyntheticsAssertion::SyntheticsAssertionTarget(
46 Box::new(
47 SyntheticsAssertionTarget::new(
48 SyntheticsAssertionOperator::IS,
49 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueString(
50 "text/html".to_string(),
51 ),
52 SyntheticsAssertionType::HEADER,
53 ).property("{{ PROPERTY }}".to_string()),
54 ),
55 ),
56 SyntheticsAssertion::SyntheticsAssertionTarget(
57 Box::new(
58 SyntheticsAssertionTarget::new(
59 SyntheticsAssertionOperator::LESS_THAN,
60 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueNumber(
61 2000.0 as f64,
62 ),
63 SyntheticsAssertionType::RESPONSE_TIME,
64 ),
65 ),
66 ),
67 SyntheticsAssertion::SyntheticsAssertionJSONPathTarget(
68 Box::new(
69 SyntheticsAssertionJSONPathTarget::new(
70 SyntheticsAssertionJSONPathOperator::VALIDATES_JSON_PATH,
71 SyntheticsAssertionType::BODY,
72 ).target(
73 SyntheticsAssertionJSONPathTargetTarget::new()
74 .json_path("topKey".to_string())
75 .operator("isNot".to_string())
76 .target_value(
77 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueString(
78 "0".to_string(),
79 ),
80 ),
81 ),
82 ),
83 ),
84 SyntheticsAssertion::SyntheticsAssertionJSONSchemaTarget(
85 Box::new(
86 SyntheticsAssertionJSONSchemaTarget::new(
87 SyntheticsAssertionJSONSchemaOperator::VALIDATES_JSON_SCHEMA,
88 SyntheticsAssertionType::BODY,
89 ).target(
90 SyntheticsAssertionJSONSchemaTargetTarget::new()
91 .json_schema(
92 r#"{"type": "object", "properties":{"slideshow":{"type":"object"}}}"#.to_string(),
93 )
94 .meta_schema(SyntheticsAssertionJSONSchemaMetaSchema::DRAFT_07),
95 ),
96 ),
97 ),
98 SyntheticsAssertion::SyntheticsAssertionXPathTarget(
99 Box::new(
100 SyntheticsAssertionXPathTarget::new(
101 SyntheticsAssertionXPathOperator::VALIDATES_X_PATH,
102 SyntheticsAssertionType::BODY,
103 ).target(
104 SyntheticsAssertionXPathTargetTarget::new()
105 .operator("contains".to_string())
106 .target_value(
107 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueString(
108 "0".to_string(),
109 ),
110 )
111 .x_path("target-xpath".to_string()),
112 ),
113 ),
114 )
115 ],
116 )
117 .config_variables(
118 vec![
119 SyntheticsConfigVariable::new("PROPERTY".to_string(), SyntheticsConfigVariableType::TEXT)
120 .example("content-type".to_string())
121 .pattern("content-type".to_string())
122 ],
123 )
124 .request(
125 SyntheticsTestRequest::new()
126 .basic_auth(
127 SyntheticsBasicAuth::SyntheticsBasicAuthOauthROP(
128 Box::new(
129 SyntheticsBasicAuthOauthROP::new(
130 "https://datadog-token.com".to_string(),
131 "oauth-password".to_string(),
132 SyntheticsBasicAuthOauthTokenApiAuthentication::BODY,
133 SyntheticsBasicAuthOauthROPType::OAUTH_ROP,
134 "oauth-usermame".to_string(),
135 )
136 .audience("audience".to_string())
137 .client_id("client-id".to_string())
138 .client_secret("client-secret".to_string())
139 .resource("resource".to_string())
140 .scope("yoyo".to_string()),
141 ),
142 ),
143 )
144 .certificate(
145 SyntheticsTestRequestCertificate::new()
146 .cert(
147 SyntheticsTestRequestCertificateItem::new()
148 .content("cert-content".to_string())
149 .filename("cert-filename".to_string())
150 .updated_at("2020-10-16T09:23:24.857Z".to_string()),
151 )
152 .key(
153 SyntheticsTestRequestCertificateItem::new()
154 .content("key-content".to_string())
155 .filename("key-filename".to_string())
156 .updated_at("2020-10-16T09:23:24.857Z".to_string()),
157 ),
158 )
159 .headers(BTreeMap::from([("unique".to_string(), "examplesynthetic".to_string())]))
160 .method("GET".to_string())
161 .proxy(
162 SyntheticsTestRequestProxy::new(
163 "https://datadoghq.com".to_string(),
164 ).headers(BTreeMap::from([])),
165 )
166 .timeout(10.0 as f64)
167 .url("https://datadoghq.com".to_string()),
168 ),
169 vec!["aws:us-east-2".to_string()],
170 "BDD test payload: synthetics_api_http_test_payload.json".to_string(),
171 "Example-Synthetic".to_string(),
172 SyntheticsTestOptions::new()
173 .accept_self_signed(false)
174 .allow_insecure(true)
175 .follow_redirects(true)
176 .min_failure_duration(10)
177 .min_location_failed(1)
178 .monitor_name("Example-Synthetic".to_string())
179 .monitor_priority(5)
180 .retry(SyntheticsTestOptionsRetry::new().count(3).interval(10.0 as f64))
181 .tick_every(60),
182 SyntheticsAPITestType::API,
183 )
184 .subtype(SyntheticsTestDetailsSubType::HTTP)
185 .tags(vec!["testing:api".to_string()]);
186 let configuration = datadog::Configuration::new();
187 let api = SyntheticsAPI::with_config(configuration);
188 let resp = api.create_synthetics_api_test(body).await;
189 if let Ok(value) = resp {
190 println!("{:#?}", value);
191 } else {
192 println!("{:#?}", resp.unwrap_err());
193 }
194}
46async fn main() {
47 let body =
48 SyntheticsAPITest::new(
49 SyntheticsAPITestConfig::new()
50 .assertions(
51 vec![
52 SyntheticsAssertion::SyntheticsAssertionTarget(
53 Box::new(
54 SyntheticsAssertionTarget::new(
55 SyntheticsAssertionOperator::IS,
56 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueString(
57 "text/html".to_string(),
58 ),
59 SyntheticsAssertionType::HEADER,
60 ).property("{{ PROPERTY }}".to_string()),
61 ),
62 ),
63 SyntheticsAssertion::SyntheticsAssertionTarget(
64 Box::new(
65 SyntheticsAssertionTarget::new(
66 SyntheticsAssertionOperator::LESS_THAN,
67 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueNumber(
68 2000.0 as f64,
69 ),
70 SyntheticsAssertionType::RESPONSE_TIME,
71 ).timings_scope(SyntheticsAssertionTimingsScope::WITHOUT_DNS),
72 ),
73 ),
74 SyntheticsAssertion::SyntheticsAssertionJSONPathTarget(
75 Box::new(
76 SyntheticsAssertionJSONPathTarget::new(
77 SyntheticsAssertionJSONPathOperator::VALIDATES_JSON_PATH,
78 SyntheticsAssertionType::BODY,
79 ).target(
80 SyntheticsAssertionJSONPathTargetTarget::new()
81 .json_path("topKey".to_string())
82 .operator("isNot".to_string())
83 .target_value(
84 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueString(
85 "0".to_string(),
86 ),
87 ),
88 ),
89 ),
90 ),
91 SyntheticsAssertion::SyntheticsAssertionJSONPathTarget(
92 Box::new(
93 SyntheticsAssertionJSONPathTarget::new(
94 SyntheticsAssertionJSONPathOperator::VALIDATES_JSON_PATH,
95 SyntheticsAssertionType::BODY,
96 ).target(
97 SyntheticsAssertionJSONPathTargetTarget::new()
98 .elements_operator("atLeastOneElementMatches".to_string())
99 .json_path("topKey".to_string())
100 .operator("isNot".to_string())
101 .target_value(
102 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueString(
103 "0".to_string(),
104 ),
105 ),
106 ),
107 ),
108 ),
109 SyntheticsAssertion::SyntheticsAssertionJSONSchemaTarget(
110 Box::new(
111 SyntheticsAssertionJSONSchemaTarget::new(
112 SyntheticsAssertionJSONSchemaOperator::VALIDATES_JSON_SCHEMA,
113 SyntheticsAssertionType::BODY,
114 ).target(
115 SyntheticsAssertionJSONSchemaTargetTarget::new()
116 .json_schema(
117 r#"{"type": "object", "properties":{"slideshow":{"type":"object"}}}"#.to_string(),
118 )
119 .meta_schema(SyntheticsAssertionJSONSchemaMetaSchema::DRAFT_07),
120 ),
121 ),
122 ),
123 SyntheticsAssertion::SyntheticsAssertionXPathTarget(
124 Box::new(
125 SyntheticsAssertionXPathTarget::new(
126 SyntheticsAssertionXPathOperator::VALIDATES_X_PATH,
127 SyntheticsAssertionType::BODY,
128 ).target(
129 SyntheticsAssertionXPathTargetTarget::new()
130 .operator("contains".to_string())
131 .target_value(
132 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueString(
133 "0".to_string(),
134 ),
135 )
136 .x_path("target-xpath".to_string()),
137 ),
138 ),
139 ),
140 SyntheticsAssertion::SyntheticsAssertionBodyHashTarget(
141 Box::new(
142 SyntheticsAssertionBodyHashTarget::new(
143 SyntheticsAssertionBodyHashOperator::MD5,
144 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueString(
145 "a".to_string(),
146 ),
147 SyntheticsAssertionBodyHashType::BODY_HASH,
148 ),
149 ),
150 ),
151 SyntheticsAssertion::SyntheticsAssertionJavascript(
152 Box::new(
153 SyntheticsAssertionJavascript::new(
154 "const hello = 'world';".to_string(),
155 SyntheticsAssertionJavascriptType::JAVASCRIPT,
156 ),
157 ),
158 )
159 ],
160 )
161 .config_variables(
162 vec![
163 SyntheticsConfigVariable::new("PROPERTY".to_string(), SyntheticsConfigVariableType::TEXT)
164 .example("content-type".to_string())
165 .pattern("content-type".to_string())
166 ],
167 )
168 .request(
169 SyntheticsTestRequest::new()
170 .basic_auth(
171 SyntheticsBasicAuth::SyntheticsBasicAuthOauthClient(
172 Box::new(
173 SyntheticsBasicAuthOauthClient::new(
174 "https://datadog-token.com".to_string(),
175 "client-id".to_string(),
176 "client-secret".to_string(),
177 SyntheticsBasicAuthOauthTokenApiAuthentication::HEADER,
178 SyntheticsBasicAuthOauthClientType::OAUTH_CLIENT,
179 )
180 .audience("audience".to_string())
181 .resource("resource".to_string())
182 .scope("yoyo".to_string()),
183 ),
184 ),
185 )
186 .certificate(
187 SyntheticsTestRequestCertificate::new()
188 .cert(
189 SyntheticsTestRequestCertificateItem::new()
190 .content("cert-content".to_string())
191 .filename("cert-filename".to_string())
192 .updated_at("2020-10-16T09:23:24.857Z".to_string()),
193 )
194 .key(
195 SyntheticsTestRequestCertificateItem::new()
196 .content("key-content".to_string())
197 .filename("key-filename".to_string())
198 .updated_at("2020-10-16T09:23:24.857Z".to_string()),
199 ),
200 )
201 .headers(BTreeMap::from([("unique".to_string(), "examplesynthetic".to_string())]))
202 .method("GET".to_string())
203 .persist_cookies(true)
204 .proxy(
205 SyntheticsTestRequestProxy::new(
206 "https://datadoghq.com".to_string(),
207 ).headers(BTreeMap::from([])),
208 )
209 .timeout(10.0 as f64)
210 .url("https://datadoghq.com".to_string()),
211 )
212 .variables_from_script(r#"dd.variable.set("FOO", "foo")"#.to_string()),
213 vec!["aws:us-east-2".to_string()],
214 "BDD test payload: synthetics_api_http_test_payload.json".to_string(),
215 "Example-Synthetic".to_string(),
216 SyntheticsTestOptions::new()
217 .accept_self_signed(false)
218 .allow_insecure(true)
219 .follow_redirects(true)
220 .http_version(SyntheticsTestOptionsHTTPVersion::HTTP2)
221 .min_failure_duration(10)
222 .min_location_failed(1)
223 .monitor_name("Example-Synthetic".to_string())
224 .monitor_priority(5)
225 .retry(SyntheticsTestOptionsRetry::new().count(3).interval(10.0 as f64))
226 .tick_every(60),
227 SyntheticsAPITestType::API,
228 )
229 .subtype(SyntheticsTestDetailsSubType::HTTP)
230 .tags(vec!["testing:api".to_string()]);
231 let configuration = datadog::Configuration::new();
232 let api = SyntheticsAPI::with_config(configuration);
233 let resp = api.create_synthetics_api_test(body).await;
234 if let Ok(value) = resp {
235 println!("{:#?}", value);
236 } else {
237 println!("{:#?}", resp.unwrap_err());
238 }
239}
Sourcepub fn no_screenshot(self, value: bool) -> Self
pub fn no_screenshot(self, value: bool) -> Self
Examples found in repository?
19async fn main() {
20 let body = SyntheticsBrowserTest::new(
21 SyntheticsBrowserTestConfig::new(
22 vec![],
23 SyntheticsTestRequest::new()
24 .method("GET".to_string())
25 .url("https://datadoghq.com".to_string()),
26 )
27 .config_variables(vec![SyntheticsConfigVariable::new(
28 "PROPERTY".to_string(),
29 SyntheticsConfigVariableType::TEXT,
30 )
31 .example("content-type".to_string())
32 .pattern("content-type".to_string())
33 .secure(true)])
34 .set_cookie("name:test".to_string())
35 .variables(vec![SyntheticsBrowserVariable::new(
36 "TEST_VARIABLE".to_string(),
37 SyntheticsBrowserVariableType::TEXT,
38 )
39 .example("secret".to_string())
40 .pattern("secret".to_string())
41 .secure(true)]),
42 vec!["aws:us-east-2".to_string()],
43 "Test message".to_string(),
44 "Example-Synthetic".to_string(),
45 SyntheticsTestOptions::new()
46 .accept_self_signed(false)
47 .allow_insecure(true)
48 .device_ids(vec!["chrome.laptop_large".to_string()])
49 .disable_cors(true)
50 .enable_profiling(true)
51 .enable_security_testing(true)
52 .follow_redirects(true)
53 .min_failure_duration(10)
54 .min_location_failed(1)
55 .no_screenshot(true)
56 .retry(
57 SyntheticsTestOptionsRetry::new()
58 .count(2)
59 .interval(10.0 as f64),
60 )
61 .tick_every(300),
62 SyntheticsBrowserTestType::BROWSER,
63 )
64 .steps(vec![SyntheticsStep::new()
65 .allow_failure(false)
66 .always_execute(true)
67 .exit_if_succeed(true)
68 .is_critical(true)
69 .name("Refresh page".to_string())
70 .params(BTreeMap::new())
71 .type_(SyntheticsStepType::REFRESH)])
72 .tags(vec!["testing:browser".to_string()]);
73 let configuration = datadog::Configuration::new();
74 let api = SyntheticsAPI::with_config(configuration);
75 let resp = api.create_synthetics_browser_test(body).await;
76 if let Ok(value) = resp {
77 println!("{:#?}", value);
78 } else {
79 println!("{:#?}", resp.unwrap_err());
80 }
81}
More examples
20async fn main() {
21 let body = SyntheticsBrowserTest::new(
22 SyntheticsBrowserTestConfig::new(
23 vec![],
24 SyntheticsTestRequest::new()
25 .certificate_domains(vec!["https://datadoghq.com".to_string()])
26 .method("GET".to_string())
27 .url("https://datadoghq.com".to_string()),
28 )
29 .config_variables(vec![SyntheticsConfigVariable::new(
30 "PROPERTY".to_string(),
31 SyntheticsConfigVariableType::TEXT,
32 )
33 .example("content-type".to_string())
34 .pattern("content-type".to_string())])
35 .set_cookie("name:test".to_string()),
36 vec!["aws:us-east-2".to_string()],
37 "Test message".to_string(),
38 "Example-Synthetic".to_string(),
39 SyntheticsTestOptions::new()
40 .accept_self_signed(false)
41 .allow_insecure(true)
42 .ci(SyntheticsTestCiOptions::new(
43 SyntheticsTestExecutionRule::SKIPPED,
44 ))
45 .device_ids(vec!["tablet".to_string()])
46 .disable_cors(true)
47 .disable_csp(true)
48 .follow_redirects(true)
49 .ignore_server_certificate_error(true)
50 .initial_navigation_timeout(200)
51 .min_failure_duration(10)
52 .min_location_failed(1)
53 .no_screenshot(true)
54 .retry(
55 SyntheticsTestOptionsRetry::new()
56 .count(2)
57 .interval(10.0 as f64),
58 )
59 .rum_settings(
60 SyntheticsBrowserTestRumSettings::new(true)
61 .application_id("mockApplicationId".to_string())
62 .client_token_id(12345),
63 )
64 .tick_every(300),
65 SyntheticsBrowserTestType::BROWSER,
66 )
67 .steps(vec![SyntheticsStep::new()
68 .allow_failure(false)
69 .is_critical(true)
70 .name("Refresh page".to_string())
71 .params(BTreeMap::new())
72 .type_(SyntheticsStepType::REFRESH)])
73 .tags(vec!["testing:browser".to_string()]);
74 let configuration = datadog::Configuration::new();
75 let api = SyntheticsAPI::with_config(configuration);
76 let resp = api.create_synthetics_browser_test(body).await;
77 if let Ok(value) = resp {
78 println!("{:#?}", value);
79 } else {
80 println!("{:#?}", resp.unwrap_err());
81 }
82}
20async fn main() {
21 let body = SyntheticsBrowserTest::new(
22 SyntheticsBrowserTestConfig::new(
23 vec![],
24 SyntheticsTestRequest::new()
25 .method("GET".to_string())
26 .url("https://datadoghq.com".to_string()),
27 )
28 .config_variables(vec![SyntheticsConfigVariable::new(
29 "PROPERTY".to_string(),
30 SyntheticsConfigVariableType::TEXT,
31 )
32 .example("content-type".to_string())
33 .pattern("content-type".to_string())])
34 .set_cookie("name:test".to_string()),
35 vec!["aws:us-east-2".to_string()],
36 "Test message".to_string(),
37 "Example-Synthetic".to_string(),
38 SyntheticsTestOptions::new()
39 .accept_self_signed(false)
40 .allow_insecure(true)
41 .device_ids(vec!["tablet".to_string()])
42 .disable_cors(true)
43 .follow_redirects(true)
44 .min_failure_duration(10)
45 .min_location_failed(1)
46 .no_screenshot(true)
47 .retry(
48 SyntheticsTestOptionsRetry::new()
49 .count(2)
50 .interval(10.0 as f64),
51 )
52 .scheduling(SyntheticsTestOptionsScheduling::new(
53 vec![
54 SyntheticsTestOptionsSchedulingTimeframe::new(
55 1,
56 "07:00".to_string(),
57 "16:00".to_string(),
58 ),
59 SyntheticsTestOptionsSchedulingTimeframe::new(
60 3,
61 "07:00".to_string(),
62 "16:00".to_string(),
63 ),
64 ],
65 "America/New_York".to_string(),
66 ))
67 .tick_every(300),
68 SyntheticsBrowserTestType::BROWSER,
69 )
70 .steps(vec![SyntheticsStep::new()
71 .allow_failure(false)
72 .is_critical(true)
73 .name("Refresh page".to_string())
74 .params(BTreeMap::new())
75 .type_(SyntheticsStepType::REFRESH)])
76 .tags(vec!["testing:browser".to_string()]);
77 let configuration = datadog::Configuration::new();
78 let api = SyntheticsAPI::with_config(configuration);
79 let resp = api.create_synthetics_browser_test(body).await;
80 if let Ok(value) = resp {
81 println!("{:#?}", value);
82 } else {
83 println!("{:#?}", resp.unwrap_err());
84 }
85}
Sourcepub fn restricted_roles(self, value: Vec<String>) -> Self
pub fn restricted_roles(self, value: Vec<String>) -> Self
Examples found in repository?
27async fn main() {
28 let body = SyntheticsAPITest::new(
29 SyntheticsAPITestConfig::new()
30 .assertions(vec![SyntheticsAssertion::SyntheticsAssertionTarget(
31 Box::new(SyntheticsAssertionTarget::new(
32 SyntheticsAssertionOperator::LESS_THAN,
33 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueNumber(
34 1000.0 as f64,
35 ),
36 SyntheticsAssertionType::RESPONSE_TIME,
37 )),
38 )])
39 .request(
40 SyntheticsTestRequest::new()
41 .method("GET".to_string())
42 .url("https://example.com".to_string()),
43 ),
44 vec!["aws:eu-west-3".to_string()],
45 "Notification message".to_string(),
46 "Example test name".to_string(),
47 SyntheticsTestOptions::new()
48 .ci(SyntheticsTestCiOptions::new(
49 SyntheticsTestExecutionRule::BLOCKING,
50 ))
51 .device_ids(vec!["chrome.laptop_large".to_string()])
52 .http_version(SyntheticsTestOptionsHTTPVersion::HTTP1)
53 .monitor_options(
54 SyntheticsTestOptionsMonitorOptions::new().notification_preset_name(
55 SyntheticsTestOptionsMonitorOptionsNotificationPresetName::SHOW_ALL,
56 ),
57 )
58 .restricted_roles(vec!["xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx".to_string()])
59 .retry(SyntheticsTestOptionsRetry::new())
60 .rum_settings(
61 SyntheticsBrowserTestRumSettings::new(true)
62 .application_id("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx".to_string())
63 .client_token_id(12345),
64 )
65 .scheduling(SyntheticsTestOptionsScheduling::new(
66 vec![
67 SyntheticsTestOptionsSchedulingTimeframe::new(
68 1,
69 "07:00".to_string(),
70 "16:00".to_string(),
71 ),
72 SyntheticsTestOptionsSchedulingTimeframe::new(
73 3,
74 "07:00".to_string(),
75 "16:00".to_string(),
76 ),
77 ],
78 "America/New_York".to_string(),
79 )),
80 SyntheticsAPITestType::API,
81 )
82 .status(SyntheticsTestPauseStatus::LIVE)
83 .subtype(SyntheticsTestDetailsSubType::HTTP)
84 .tags(vec!["env:production".to_string()]);
85 let configuration = datadog::Configuration::new();
86 let api = SyntheticsAPI::with_config(configuration);
87 let resp = api.create_synthetics_api_test(body).await;
88 if let Ok(value) = resp {
89 println!("{:#?}", value);
90 } else {
91 println!("{:#?}", resp.unwrap_err());
92 }
93}
More examples
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}
Sourcepub fn retry(self, value: SyntheticsTestOptionsRetry) -> Self
pub fn retry(self, value: SyntheticsTestOptionsRetry) -> Self
Examples found in repository?
19async fn main() {
20 let body = SyntheticsBrowserTest::new(
21 SyntheticsBrowserTestConfig::new(
22 vec![],
23 SyntheticsTestRequest::new()
24 .method("GET".to_string())
25 .url("https://datadoghq.com".to_string()),
26 )
27 .config_variables(vec![SyntheticsConfigVariable::new(
28 "PROPERTY".to_string(),
29 SyntheticsConfigVariableType::TEXT,
30 )
31 .example("content-type".to_string())
32 .pattern("content-type".to_string())
33 .secure(true)])
34 .set_cookie("name:test".to_string())
35 .variables(vec![SyntheticsBrowserVariable::new(
36 "TEST_VARIABLE".to_string(),
37 SyntheticsBrowserVariableType::TEXT,
38 )
39 .example("secret".to_string())
40 .pattern("secret".to_string())
41 .secure(true)]),
42 vec!["aws:us-east-2".to_string()],
43 "Test message".to_string(),
44 "Example-Synthetic".to_string(),
45 SyntheticsTestOptions::new()
46 .accept_self_signed(false)
47 .allow_insecure(true)
48 .device_ids(vec!["chrome.laptop_large".to_string()])
49 .disable_cors(true)
50 .enable_profiling(true)
51 .enable_security_testing(true)
52 .follow_redirects(true)
53 .min_failure_duration(10)
54 .min_location_failed(1)
55 .no_screenshot(true)
56 .retry(
57 SyntheticsTestOptionsRetry::new()
58 .count(2)
59 .interval(10.0 as f64),
60 )
61 .tick_every(300),
62 SyntheticsBrowserTestType::BROWSER,
63 )
64 .steps(vec![SyntheticsStep::new()
65 .allow_failure(false)
66 .always_execute(true)
67 .exit_if_succeed(true)
68 .is_critical(true)
69 .name("Refresh page".to_string())
70 .params(BTreeMap::new())
71 .type_(SyntheticsStepType::REFRESH)])
72 .tags(vec!["testing:browser".to_string()]);
73 let configuration = datadog::Configuration::new();
74 let api = SyntheticsAPI::with_config(configuration);
75 let resp = api.create_synthetics_browser_test(body).await;
76 if let Ok(value) = resp {
77 println!("{:#?}", value);
78 } else {
79 println!("{:#?}", resp.unwrap_err());
80 }
81}
More examples
20async fn main() {
21 let body = SyntheticsBrowserTest::new(
22 SyntheticsBrowserTestConfig::new(
23 vec![],
24 SyntheticsTestRequest::new()
25 .certificate_domains(vec!["https://datadoghq.com".to_string()])
26 .method("GET".to_string())
27 .url("https://datadoghq.com".to_string()),
28 )
29 .config_variables(vec![SyntheticsConfigVariable::new(
30 "PROPERTY".to_string(),
31 SyntheticsConfigVariableType::TEXT,
32 )
33 .example("content-type".to_string())
34 .pattern("content-type".to_string())])
35 .set_cookie("name:test".to_string()),
36 vec!["aws:us-east-2".to_string()],
37 "Test message".to_string(),
38 "Example-Synthetic".to_string(),
39 SyntheticsTestOptions::new()
40 .accept_self_signed(false)
41 .allow_insecure(true)
42 .ci(SyntheticsTestCiOptions::new(
43 SyntheticsTestExecutionRule::SKIPPED,
44 ))
45 .device_ids(vec!["tablet".to_string()])
46 .disable_cors(true)
47 .disable_csp(true)
48 .follow_redirects(true)
49 .ignore_server_certificate_error(true)
50 .initial_navigation_timeout(200)
51 .min_failure_duration(10)
52 .min_location_failed(1)
53 .no_screenshot(true)
54 .retry(
55 SyntheticsTestOptionsRetry::new()
56 .count(2)
57 .interval(10.0 as f64),
58 )
59 .rum_settings(
60 SyntheticsBrowserTestRumSettings::new(true)
61 .application_id("mockApplicationId".to_string())
62 .client_token_id(12345),
63 )
64 .tick_every(300),
65 SyntheticsBrowserTestType::BROWSER,
66 )
67 .steps(vec![SyntheticsStep::new()
68 .allow_failure(false)
69 .is_critical(true)
70 .name("Refresh page".to_string())
71 .params(BTreeMap::new())
72 .type_(SyntheticsStepType::REFRESH)])
73 .tags(vec!["testing:browser".to_string()]);
74 let configuration = datadog::Configuration::new();
75 let api = SyntheticsAPI::with_config(configuration);
76 let resp = api.create_synthetics_browser_test(body).await;
77 if let Ok(value) = resp {
78 println!("{:#?}", value);
79 } else {
80 println!("{:#?}", resp.unwrap_err());
81 }
82}
19async fn main() {
20 let body = SyntheticsAPITest::new(
21 SyntheticsAPITestConfig::new()
22 .assertions(vec![
23 SyntheticsAssertion::SyntheticsAssertionTarget(Box::new(
24 SyntheticsAssertionTarget::new(
25 SyntheticsAssertionOperator::IS,
26 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueString(
27 "message".to_string(),
28 ),
29 SyntheticsAssertionType::RECEIVED_MESSAGE,
30 ),
31 )),
32 SyntheticsAssertion::SyntheticsAssertionTarget(Box::new(
33 SyntheticsAssertionTarget::new(
34 SyntheticsAssertionOperator::LESS_THAN,
35 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueNumber(
36 2000.0 as f64,
37 ),
38 SyntheticsAssertionType::RESPONSE_TIME,
39 ),
40 )),
41 ])
42 .config_variables(vec![])
43 .request(
44 SyntheticsTestRequest::new()
45 .message("message".to_string())
46 .url("ws://datadoghq.com".to_string()),
47 ),
48 vec!["aws:us-east-2".to_string()],
49 "BDD test payload: synthetics_api_test_websocket_payload.json".to_string(),
50 "Example-Synthetic".to_string(),
51 SyntheticsTestOptions::new()
52 .accept_self_signed(false)
53 .allow_insecure(true)
54 .follow_redirects(true)
55 .min_failure_duration(10)
56 .min_location_failed(1)
57 .monitor_name("Example-Synthetic".to_string())
58 .monitor_priority(5)
59 .retry(
60 SyntheticsTestOptionsRetry::new()
61 .count(3)
62 .interval(10.0 as f64),
63 )
64 .tick_every(60),
65 SyntheticsAPITestType::API,
66 )
67 .subtype(SyntheticsTestDetailsSubType::WEBSOCKET)
68 .tags(vec!["testing:api".to_string()]);
69 let configuration = datadog::Configuration::new();
70 let api = SyntheticsAPI::with_config(configuration);
71 let resp = api.create_synthetics_api_test(body).await;
72 if let Ok(value) = resp {
73 println!("{:#?}", value);
74 } else {
75 println!("{:#?}", resp.unwrap_err());
76 }
77}
20async fn main() {
21 let body = SyntheticsBrowserTest::new(
22 SyntheticsBrowserTestConfig::new(
23 vec![],
24 SyntheticsTestRequest::new()
25 .method("GET".to_string())
26 .url("https://datadoghq.com".to_string()),
27 )
28 .config_variables(vec![SyntheticsConfigVariable::new(
29 "PROPERTY".to_string(),
30 SyntheticsConfigVariableType::TEXT,
31 )
32 .example("content-type".to_string())
33 .pattern("content-type".to_string())])
34 .set_cookie("name:test".to_string()),
35 vec!["aws:us-east-2".to_string()],
36 "Test message".to_string(),
37 "Example-Synthetic".to_string(),
38 SyntheticsTestOptions::new()
39 .accept_self_signed(false)
40 .allow_insecure(true)
41 .device_ids(vec!["tablet".to_string()])
42 .disable_cors(true)
43 .follow_redirects(true)
44 .min_failure_duration(10)
45 .min_location_failed(1)
46 .no_screenshot(true)
47 .retry(
48 SyntheticsTestOptionsRetry::new()
49 .count(2)
50 .interval(10.0 as f64),
51 )
52 .scheduling(SyntheticsTestOptionsScheduling::new(
53 vec![
54 SyntheticsTestOptionsSchedulingTimeframe::new(
55 1,
56 "07:00".to_string(),
57 "16:00".to_string(),
58 ),
59 SyntheticsTestOptionsSchedulingTimeframe::new(
60 3,
61 "07:00".to_string(),
62 "16:00".to_string(),
63 ),
64 ],
65 "America/New_York".to_string(),
66 ))
67 .tick_every(300),
68 SyntheticsBrowserTestType::BROWSER,
69 )
70 .steps(vec![SyntheticsStep::new()
71 .allow_failure(false)
72 .is_critical(true)
73 .name("Refresh page".to_string())
74 .params(BTreeMap::new())
75 .type_(SyntheticsStepType::REFRESH)])
76 .tags(vec!["testing:browser".to_string()]);
77 let configuration = datadog::Configuration::new();
78 let api = SyntheticsAPI::with_config(configuration);
79 let resp = api.create_synthetics_browser_test(body).await;
80 if let Ok(value) = resp {
81 println!("{:#?}", value);
82 } else {
83 println!("{:#?}", resp.unwrap_err());
84 }
85}
20async fn main() {
21 let body = SyntheticsAPITest::new(
22 SyntheticsAPITestConfig::new()
23 .assertions(vec![
24 SyntheticsAssertion::SyntheticsAssertionTarget(Box::new(
25 SyntheticsAssertionTarget::new(
26 SyntheticsAssertionOperator::IS,
27 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueString(
28 "message".to_string(),
29 ),
30 SyntheticsAssertionType::RECEIVED_MESSAGE,
31 ),
32 )),
33 SyntheticsAssertion::SyntheticsAssertionTarget(Box::new(
34 SyntheticsAssertionTarget::new(
35 SyntheticsAssertionOperator::LESS_THAN,
36 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueNumber(
37 2000.0 as f64,
38 ),
39 SyntheticsAssertionType::RESPONSE_TIME,
40 ),
41 )),
42 ])
43 .config_variables(vec![])
44 .request(
45 SyntheticsTestRequest::new()
46 .host("https://datadoghq.com".to_string())
47 .message("message".to_string())
48 .port(SyntheticsTestRequestPort::SyntheticsTestRequestNumericalPort(443)),
49 ),
50 vec!["aws:us-east-2".to_string()],
51 "BDD test payload: synthetics_api_test_udp_payload.json".to_string(),
52 "Example-Synthetic".to_string(),
53 SyntheticsTestOptions::new()
54 .accept_self_signed(false)
55 .allow_insecure(true)
56 .follow_redirects(true)
57 .min_failure_duration(10)
58 .min_location_failed(1)
59 .monitor_name("Example-Synthetic".to_string())
60 .monitor_priority(5)
61 .retry(
62 SyntheticsTestOptionsRetry::new()
63 .count(3)
64 .interval(10.0 as f64),
65 )
66 .tick_every(60),
67 SyntheticsAPITestType::API,
68 )
69 .subtype(SyntheticsTestDetailsSubType::UDP)
70 .tags(vec!["testing:api".to_string()]);
71 let configuration = datadog::Configuration::new();
72 let api = SyntheticsAPI::with_config(configuration);
73 let resp = api.create_synthetics_api_test(body).await;
74 if let Ok(value) = resp {
75 println!("{:#?}", value);
76 } else {
77 println!("{:#?}", resp.unwrap_err());
78 }
79}
27async fn main() {
28 let body = SyntheticsAPITest::new(
29 SyntheticsAPITestConfig::new()
30 .assertions(vec![SyntheticsAssertion::SyntheticsAssertionTarget(
31 Box::new(SyntheticsAssertionTarget::new(
32 SyntheticsAssertionOperator::LESS_THAN,
33 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueNumber(
34 1000.0 as f64,
35 ),
36 SyntheticsAssertionType::RESPONSE_TIME,
37 )),
38 )])
39 .request(
40 SyntheticsTestRequest::new()
41 .method("GET".to_string())
42 .url("https://example.com".to_string()),
43 ),
44 vec!["aws:eu-west-3".to_string()],
45 "Notification message".to_string(),
46 "Example test name".to_string(),
47 SyntheticsTestOptions::new()
48 .ci(SyntheticsTestCiOptions::new(
49 SyntheticsTestExecutionRule::BLOCKING,
50 ))
51 .device_ids(vec!["chrome.laptop_large".to_string()])
52 .http_version(SyntheticsTestOptionsHTTPVersion::HTTP1)
53 .monitor_options(
54 SyntheticsTestOptionsMonitorOptions::new().notification_preset_name(
55 SyntheticsTestOptionsMonitorOptionsNotificationPresetName::SHOW_ALL,
56 ),
57 )
58 .restricted_roles(vec!["xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx".to_string()])
59 .retry(SyntheticsTestOptionsRetry::new())
60 .rum_settings(
61 SyntheticsBrowserTestRumSettings::new(true)
62 .application_id("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx".to_string())
63 .client_token_id(12345),
64 )
65 .scheduling(SyntheticsTestOptionsScheduling::new(
66 vec![
67 SyntheticsTestOptionsSchedulingTimeframe::new(
68 1,
69 "07:00".to_string(),
70 "16:00".to_string(),
71 ),
72 SyntheticsTestOptionsSchedulingTimeframe::new(
73 3,
74 "07:00".to_string(),
75 "16:00".to_string(),
76 ),
77 ],
78 "America/New_York".to_string(),
79 )),
80 SyntheticsAPITestType::API,
81 )
82 .status(SyntheticsTestPauseStatus::LIVE)
83 .subtype(SyntheticsTestDetailsSubType::HTTP)
84 .tags(vec!["env:production".to_string()]);
85 let configuration = datadog::Configuration::new();
86 let api = SyntheticsAPI::with_config(configuration);
87 let resp = api.create_synthetics_api_test(body).await;
88 if let Ok(value) = resp {
89 println!("{:#?}", value);
90 } else {
91 println!("{:#?}", resp.unwrap_err());
92 }
93}
- examples/v1_synthetics_UpdateBrowserTest.rs
- examples/v1_synthetics_UpdateAPITest.rs
- examples/v1_synthetics_CreateSyntheticsAPITest_1241981394.rs
- examples/v1_synthetics_CreateSyntheticsAPITest_960766374.rs
- examples/v1_synthetics_CreateSyntheticsAPITest_1487281163.rs
- examples/v1_synthetics_CreateSyntheticsAPITest_1987645492.rs
- examples/v1_synthetics_CreateSyntheticsAPITest_1279271422.rs
Sourcepub fn rum_settings(self, value: SyntheticsBrowserTestRumSettings) -> Self
pub fn rum_settings(self, value: SyntheticsBrowserTestRumSettings) -> Self
Examples found in repository?
20async fn main() {
21 let body = SyntheticsBrowserTest::new(
22 SyntheticsBrowserTestConfig::new(
23 vec![],
24 SyntheticsTestRequest::new()
25 .certificate_domains(vec!["https://datadoghq.com".to_string()])
26 .method("GET".to_string())
27 .url("https://datadoghq.com".to_string()),
28 )
29 .config_variables(vec![SyntheticsConfigVariable::new(
30 "PROPERTY".to_string(),
31 SyntheticsConfigVariableType::TEXT,
32 )
33 .example("content-type".to_string())
34 .pattern("content-type".to_string())])
35 .set_cookie("name:test".to_string()),
36 vec!["aws:us-east-2".to_string()],
37 "Test message".to_string(),
38 "Example-Synthetic".to_string(),
39 SyntheticsTestOptions::new()
40 .accept_self_signed(false)
41 .allow_insecure(true)
42 .ci(SyntheticsTestCiOptions::new(
43 SyntheticsTestExecutionRule::SKIPPED,
44 ))
45 .device_ids(vec!["tablet".to_string()])
46 .disable_cors(true)
47 .disable_csp(true)
48 .follow_redirects(true)
49 .ignore_server_certificate_error(true)
50 .initial_navigation_timeout(200)
51 .min_failure_duration(10)
52 .min_location_failed(1)
53 .no_screenshot(true)
54 .retry(
55 SyntheticsTestOptionsRetry::new()
56 .count(2)
57 .interval(10.0 as f64),
58 )
59 .rum_settings(
60 SyntheticsBrowserTestRumSettings::new(true)
61 .application_id("mockApplicationId".to_string())
62 .client_token_id(12345),
63 )
64 .tick_every(300),
65 SyntheticsBrowserTestType::BROWSER,
66 )
67 .steps(vec![SyntheticsStep::new()
68 .allow_failure(false)
69 .is_critical(true)
70 .name("Refresh page".to_string())
71 .params(BTreeMap::new())
72 .type_(SyntheticsStepType::REFRESH)])
73 .tags(vec!["testing:browser".to_string()]);
74 let configuration = datadog::Configuration::new();
75 let api = SyntheticsAPI::with_config(configuration);
76 let resp = api.create_synthetics_browser_test(body).await;
77 if let Ok(value) = resp {
78 println!("{:#?}", value);
79 } else {
80 println!("{:#?}", resp.unwrap_err());
81 }
82}
More examples
27async fn main() {
28 let body = SyntheticsAPITest::new(
29 SyntheticsAPITestConfig::new()
30 .assertions(vec![SyntheticsAssertion::SyntheticsAssertionTarget(
31 Box::new(SyntheticsAssertionTarget::new(
32 SyntheticsAssertionOperator::LESS_THAN,
33 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueNumber(
34 1000.0 as f64,
35 ),
36 SyntheticsAssertionType::RESPONSE_TIME,
37 )),
38 )])
39 .request(
40 SyntheticsTestRequest::new()
41 .method("GET".to_string())
42 .url("https://example.com".to_string()),
43 ),
44 vec!["aws:eu-west-3".to_string()],
45 "Notification message".to_string(),
46 "Example test name".to_string(),
47 SyntheticsTestOptions::new()
48 .ci(SyntheticsTestCiOptions::new(
49 SyntheticsTestExecutionRule::BLOCKING,
50 ))
51 .device_ids(vec!["chrome.laptop_large".to_string()])
52 .http_version(SyntheticsTestOptionsHTTPVersion::HTTP1)
53 .monitor_options(
54 SyntheticsTestOptionsMonitorOptions::new().notification_preset_name(
55 SyntheticsTestOptionsMonitorOptionsNotificationPresetName::SHOW_ALL,
56 ),
57 )
58 .restricted_roles(vec!["xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx".to_string()])
59 .retry(SyntheticsTestOptionsRetry::new())
60 .rum_settings(
61 SyntheticsBrowserTestRumSettings::new(true)
62 .application_id("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx".to_string())
63 .client_token_id(12345),
64 )
65 .scheduling(SyntheticsTestOptionsScheduling::new(
66 vec![
67 SyntheticsTestOptionsSchedulingTimeframe::new(
68 1,
69 "07:00".to_string(),
70 "16:00".to_string(),
71 ),
72 SyntheticsTestOptionsSchedulingTimeframe::new(
73 3,
74 "07:00".to_string(),
75 "16:00".to_string(),
76 ),
77 ],
78 "America/New_York".to_string(),
79 )),
80 SyntheticsAPITestType::API,
81 )
82 .status(SyntheticsTestPauseStatus::LIVE)
83 .subtype(SyntheticsTestDetailsSubType::HTTP)
84 .tags(vec!["env:production".to_string()]);
85 let configuration = datadog::Configuration::new();
86 let api = SyntheticsAPI::with_config(configuration);
87 let resp = api.create_synthetics_api_test(body).await;
88 if let Ok(value) = resp {
89 println!("{:#?}", value);
90 } else {
91 println!("{:#?}", resp.unwrap_err());
92 }
93}
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}
Sourcepub fn scheduling(self, value: SyntheticsTestOptionsScheduling) -> Self
pub fn scheduling(self, value: SyntheticsTestOptionsScheduling) -> Self
Examples found in repository?
20async fn main() {
21 let body = SyntheticsBrowserTest::new(
22 SyntheticsBrowserTestConfig::new(
23 vec![],
24 SyntheticsTestRequest::new()
25 .method("GET".to_string())
26 .url("https://datadoghq.com".to_string()),
27 )
28 .config_variables(vec![SyntheticsConfigVariable::new(
29 "PROPERTY".to_string(),
30 SyntheticsConfigVariableType::TEXT,
31 )
32 .example("content-type".to_string())
33 .pattern("content-type".to_string())])
34 .set_cookie("name:test".to_string()),
35 vec!["aws:us-east-2".to_string()],
36 "Test message".to_string(),
37 "Example-Synthetic".to_string(),
38 SyntheticsTestOptions::new()
39 .accept_self_signed(false)
40 .allow_insecure(true)
41 .device_ids(vec!["tablet".to_string()])
42 .disable_cors(true)
43 .follow_redirects(true)
44 .min_failure_duration(10)
45 .min_location_failed(1)
46 .no_screenshot(true)
47 .retry(
48 SyntheticsTestOptionsRetry::new()
49 .count(2)
50 .interval(10.0 as f64),
51 )
52 .scheduling(SyntheticsTestOptionsScheduling::new(
53 vec![
54 SyntheticsTestOptionsSchedulingTimeframe::new(
55 1,
56 "07:00".to_string(),
57 "16:00".to_string(),
58 ),
59 SyntheticsTestOptionsSchedulingTimeframe::new(
60 3,
61 "07:00".to_string(),
62 "16:00".to_string(),
63 ),
64 ],
65 "America/New_York".to_string(),
66 ))
67 .tick_every(300),
68 SyntheticsBrowserTestType::BROWSER,
69 )
70 .steps(vec![SyntheticsStep::new()
71 .allow_failure(false)
72 .is_critical(true)
73 .name("Refresh page".to_string())
74 .params(BTreeMap::new())
75 .type_(SyntheticsStepType::REFRESH)])
76 .tags(vec!["testing:browser".to_string()]);
77 let configuration = datadog::Configuration::new();
78 let api = SyntheticsAPI::with_config(configuration);
79 let resp = api.create_synthetics_browser_test(body).await;
80 if let Ok(value) = resp {
81 println!("{:#?}", value);
82 } else {
83 println!("{:#?}", resp.unwrap_err());
84 }
85}
More examples
27async fn main() {
28 let body = SyntheticsAPITest::new(
29 SyntheticsAPITestConfig::new()
30 .assertions(vec![SyntheticsAssertion::SyntheticsAssertionTarget(
31 Box::new(SyntheticsAssertionTarget::new(
32 SyntheticsAssertionOperator::LESS_THAN,
33 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueNumber(
34 1000.0 as f64,
35 ),
36 SyntheticsAssertionType::RESPONSE_TIME,
37 )),
38 )])
39 .request(
40 SyntheticsTestRequest::new()
41 .method("GET".to_string())
42 .url("https://example.com".to_string()),
43 ),
44 vec!["aws:eu-west-3".to_string()],
45 "Notification message".to_string(),
46 "Example test name".to_string(),
47 SyntheticsTestOptions::new()
48 .ci(SyntheticsTestCiOptions::new(
49 SyntheticsTestExecutionRule::BLOCKING,
50 ))
51 .device_ids(vec!["chrome.laptop_large".to_string()])
52 .http_version(SyntheticsTestOptionsHTTPVersion::HTTP1)
53 .monitor_options(
54 SyntheticsTestOptionsMonitorOptions::new().notification_preset_name(
55 SyntheticsTestOptionsMonitorOptionsNotificationPresetName::SHOW_ALL,
56 ),
57 )
58 .restricted_roles(vec!["xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx".to_string()])
59 .retry(SyntheticsTestOptionsRetry::new())
60 .rum_settings(
61 SyntheticsBrowserTestRumSettings::new(true)
62 .application_id("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx".to_string())
63 .client_token_id(12345),
64 )
65 .scheduling(SyntheticsTestOptionsScheduling::new(
66 vec![
67 SyntheticsTestOptionsSchedulingTimeframe::new(
68 1,
69 "07:00".to_string(),
70 "16:00".to_string(),
71 ),
72 SyntheticsTestOptionsSchedulingTimeframe::new(
73 3,
74 "07:00".to_string(),
75 "16:00".to_string(),
76 ),
77 ],
78 "America/New_York".to_string(),
79 )),
80 SyntheticsAPITestType::API,
81 )
82 .status(SyntheticsTestPauseStatus::LIVE)
83 .subtype(SyntheticsTestDetailsSubType::HTTP)
84 .tags(vec!["env:production".to_string()]);
85 let configuration = datadog::Configuration::new();
86 let api = SyntheticsAPI::with_config(configuration);
87 let resp = api.create_synthetics_api_test(body).await;
88 if let Ok(value) = resp {
89 println!("{:#?}", value);
90 } else {
91 println!("{:#?}", resp.unwrap_err());
92 }
93}
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}
Sourcepub fn tick_every(self, value: i64) -> Self
pub fn tick_every(self, value: i64) -> Self
Examples found in repository?
18async fn main() {
19 let body = SyntheticsAPITest::new(
20 SyntheticsAPITestConfig::new()
21 .assertions(vec![SyntheticsAssertion::SyntheticsAssertionTarget(
22 Box::new(SyntheticsAssertionTarget::new(
23 SyntheticsAssertionOperator::IS_IN_MORE_DAYS_THAN,
24 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueNumber(
25 10.0 as f64,
26 ),
27 SyntheticsAssertionType::CERTIFICATE,
28 )),
29 )])
30 .request(
31 SyntheticsTestRequest::new()
32 .host("datadoghq.com".to_string())
33 .port(
34 SyntheticsTestRequestPort::SyntheticsTestRequestVariablePort(
35 "{{ DATADOG_PORT }}".to_string(),
36 ),
37 ),
38 ),
39 vec!["aws:us-east-2".to_string()],
40 "BDD test payload: synthetics_api_ssl_test_payload.json".to_string(),
41 "Example-Synthetic".to_string(),
42 SyntheticsTestOptions::new()
43 .accept_self_signed(true)
44 .check_certificate_revocation(true)
45 .tick_every(60),
46 SyntheticsAPITestType::API,
47 )
48 .subtype(SyntheticsTestDetailsSubType::SSL)
49 .tags(vec!["testing:api".to_string()]);
50 let configuration = datadog::Configuration::new();
51 let api = SyntheticsAPI::with_config(configuration);
52 let resp = api.create_synthetics_api_test(body).await;
53 if let Ok(value) = resp {
54 println!("{:#?}", value);
55 } else {
56 println!("{:#?}", resp.unwrap_err());
57 }
58}
More examples
19async fn main() {
20 let body = SyntheticsBrowserTest::new(
21 SyntheticsBrowserTestConfig::new(
22 vec![],
23 SyntheticsTestRequest::new()
24 .method("GET".to_string())
25 .url("https://datadoghq.com".to_string()),
26 )
27 .config_variables(vec![SyntheticsConfigVariable::new(
28 "PROPERTY".to_string(),
29 SyntheticsConfigVariableType::TEXT,
30 )
31 .example("content-type".to_string())
32 .pattern("content-type".to_string())
33 .secure(true)])
34 .set_cookie("name:test".to_string())
35 .variables(vec![SyntheticsBrowserVariable::new(
36 "TEST_VARIABLE".to_string(),
37 SyntheticsBrowserVariableType::TEXT,
38 )
39 .example("secret".to_string())
40 .pattern("secret".to_string())
41 .secure(true)]),
42 vec!["aws:us-east-2".to_string()],
43 "Test message".to_string(),
44 "Example-Synthetic".to_string(),
45 SyntheticsTestOptions::new()
46 .accept_self_signed(false)
47 .allow_insecure(true)
48 .device_ids(vec!["chrome.laptop_large".to_string()])
49 .disable_cors(true)
50 .enable_profiling(true)
51 .enable_security_testing(true)
52 .follow_redirects(true)
53 .min_failure_duration(10)
54 .min_location_failed(1)
55 .no_screenshot(true)
56 .retry(
57 SyntheticsTestOptionsRetry::new()
58 .count(2)
59 .interval(10.0 as f64),
60 )
61 .tick_every(300),
62 SyntheticsBrowserTestType::BROWSER,
63 )
64 .steps(vec![SyntheticsStep::new()
65 .allow_failure(false)
66 .always_execute(true)
67 .exit_if_succeed(true)
68 .is_critical(true)
69 .name("Refresh page".to_string())
70 .params(BTreeMap::new())
71 .type_(SyntheticsStepType::REFRESH)])
72 .tags(vec!["testing:browser".to_string()]);
73 let configuration = datadog::Configuration::new();
74 let api = SyntheticsAPI::with_config(configuration);
75 let resp = api.create_synthetics_browser_test(body).await;
76 if let Ok(value) = resp {
77 println!("{:#?}", value);
78 } else {
79 println!("{:#?}", resp.unwrap_err());
80 }
81}
20async fn main() {
21 let body = SyntheticsBrowserTest::new(
22 SyntheticsBrowserTestConfig::new(
23 vec![],
24 SyntheticsTestRequest::new()
25 .certificate_domains(vec!["https://datadoghq.com".to_string()])
26 .method("GET".to_string())
27 .url("https://datadoghq.com".to_string()),
28 )
29 .config_variables(vec![SyntheticsConfigVariable::new(
30 "PROPERTY".to_string(),
31 SyntheticsConfigVariableType::TEXT,
32 )
33 .example("content-type".to_string())
34 .pattern("content-type".to_string())])
35 .set_cookie("name:test".to_string()),
36 vec!["aws:us-east-2".to_string()],
37 "Test message".to_string(),
38 "Example-Synthetic".to_string(),
39 SyntheticsTestOptions::new()
40 .accept_self_signed(false)
41 .allow_insecure(true)
42 .ci(SyntheticsTestCiOptions::new(
43 SyntheticsTestExecutionRule::SKIPPED,
44 ))
45 .device_ids(vec!["tablet".to_string()])
46 .disable_cors(true)
47 .disable_csp(true)
48 .follow_redirects(true)
49 .ignore_server_certificate_error(true)
50 .initial_navigation_timeout(200)
51 .min_failure_duration(10)
52 .min_location_failed(1)
53 .no_screenshot(true)
54 .retry(
55 SyntheticsTestOptionsRetry::new()
56 .count(2)
57 .interval(10.0 as f64),
58 )
59 .rum_settings(
60 SyntheticsBrowserTestRumSettings::new(true)
61 .application_id("mockApplicationId".to_string())
62 .client_token_id(12345),
63 )
64 .tick_every(300),
65 SyntheticsBrowserTestType::BROWSER,
66 )
67 .steps(vec![SyntheticsStep::new()
68 .allow_failure(false)
69 .is_critical(true)
70 .name("Refresh page".to_string())
71 .params(BTreeMap::new())
72 .type_(SyntheticsStepType::REFRESH)])
73 .tags(vec!["testing:browser".to_string()]);
74 let configuration = datadog::Configuration::new();
75 let api = SyntheticsAPI::with_config(configuration);
76 let resp = api.create_synthetics_browser_test(body).await;
77 if let Ok(value) = resp {
78 println!("{:#?}", value);
79 } else {
80 println!("{:#?}", resp.unwrap_err());
81 }
82}
19async fn main() {
20 let body = SyntheticsAPITest::new(
21 SyntheticsAPITestConfig::new()
22 .assertions(vec![
23 SyntheticsAssertion::SyntheticsAssertionTarget(Box::new(
24 SyntheticsAssertionTarget::new(
25 SyntheticsAssertionOperator::IS,
26 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueString(
27 "message".to_string(),
28 ),
29 SyntheticsAssertionType::RECEIVED_MESSAGE,
30 ),
31 )),
32 SyntheticsAssertion::SyntheticsAssertionTarget(Box::new(
33 SyntheticsAssertionTarget::new(
34 SyntheticsAssertionOperator::LESS_THAN,
35 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueNumber(
36 2000.0 as f64,
37 ),
38 SyntheticsAssertionType::RESPONSE_TIME,
39 ),
40 )),
41 ])
42 .config_variables(vec![])
43 .request(
44 SyntheticsTestRequest::new()
45 .message("message".to_string())
46 .url("ws://datadoghq.com".to_string()),
47 ),
48 vec!["aws:us-east-2".to_string()],
49 "BDD test payload: synthetics_api_test_websocket_payload.json".to_string(),
50 "Example-Synthetic".to_string(),
51 SyntheticsTestOptions::new()
52 .accept_self_signed(false)
53 .allow_insecure(true)
54 .follow_redirects(true)
55 .min_failure_duration(10)
56 .min_location_failed(1)
57 .monitor_name("Example-Synthetic".to_string())
58 .monitor_priority(5)
59 .retry(
60 SyntheticsTestOptionsRetry::new()
61 .count(3)
62 .interval(10.0 as f64),
63 )
64 .tick_every(60),
65 SyntheticsAPITestType::API,
66 )
67 .subtype(SyntheticsTestDetailsSubType::WEBSOCKET)
68 .tags(vec!["testing:api".to_string()]);
69 let configuration = datadog::Configuration::new();
70 let api = SyntheticsAPI::with_config(configuration);
71 let resp = api.create_synthetics_api_test(body).await;
72 if let Ok(value) = resp {
73 println!("{:#?}", value);
74 } else {
75 println!("{:#?}", resp.unwrap_err());
76 }
77}
20async fn main() {
21 let body = SyntheticsBrowserTest::new(
22 SyntheticsBrowserTestConfig::new(
23 vec![],
24 SyntheticsTestRequest::new()
25 .method("GET".to_string())
26 .url("https://datadoghq.com".to_string()),
27 )
28 .config_variables(vec![SyntheticsConfigVariable::new(
29 "PROPERTY".to_string(),
30 SyntheticsConfigVariableType::TEXT,
31 )
32 .example("content-type".to_string())
33 .pattern("content-type".to_string())])
34 .set_cookie("name:test".to_string()),
35 vec!["aws:us-east-2".to_string()],
36 "Test message".to_string(),
37 "Example-Synthetic".to_string(),
38 SyntheticsTestOptions::new()
39 .accept_self_signed(false)
40 .allow_insecure(true)
41 .device_ids(vec!["tablet".to_string()])
42 .disable_cors(true)
43 .follow_redirects(true)
44 .min_failure_duration(10)
45 .min_location_failed(1)
46 .no_screenshot(true)
47 .retry(
48 SyntheticsTestOptionsRetry::new()
49 .count(2)
50 .interval(10.0 as f64),
51 )
52 .scheduling(SyntheticsTestOptionsScheduling::new(
53 vec![
54 SyntheticsTestOptionsSchedulingTimeframe::new(
55 1,
56 "07:00".to_string(),
57 "16:00".to_string(),
58 ),
59 SyntheticsTestOptionsSchedulingTimeframe::new(
60 3,
61 "07:00".to_string(),
62 "16:00".to_string(),
63 ),
64 ],
65 "America/New_York".to_string(),
66 ))
67 .tick_every(300),
68 SyntheticsBrowserTestType::BROWSER,
69 )
70 .steps(vec![SyntheticsStep::new()
71 .allow_failure(false)
72 .is_critical(true)
73 .name("Refresh page".to_string())
74 .params(BTreeMap::new())
75 .type_(SyntheticsStepType::REFRESH)])
76 .tags(vec!["testing:browser".to_string()]);
77 let configuration = datadog::Configuration::new();
78 let api = SyntheticsAPI::with_config(configuration);
79 let resp = api.create_synthetics_browser_test(body).await;
80 if let Ok(value) = resp {
81 println!("{:#?}", value);
82 } else {
83 println!("{:#?}", resp.unwrap_err());
84 }
85}
20async fn main() {
21 let body = SyntheticsAPITest::new(
22 SyntheticsAPITestConfig::new()
23 .assertions(vec![
24 SyntheticsAssertion::SyntheticsAssertionTarget(Box::new(
25 SyntheticsAssertionTarget::new(
26 SyntheticsAssertionOperator::IS,
27 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueString(
28 "message".to_string(),
29 ),
30 SyntheticsAssertionType::RECEIVED_MESSAGE,
31 ),
32 )),
33 SyntheticsAssertion::SyntheticsAssertionTarget(Box::new(
34 SyntheticsAssertionTarget::new(
35 SyntheticsAssertionOperator::LESS_THAN,
36 SyntheticsAssertionTargetValue::SyntheticsAssertionTargetValueNumber(
37 2000.0 as f64,
38 ),
39 SyntheticsAssertionType::RESPONSE_TIME,
40 ),
41 )),
42 ])
43 .config_variables(vec![])
44 .request(
45 SyntheticsTestRequest::new()
46 .host("https://datadoghq.com".to_string())
47 .message("message".to_string())
48 .port(SyntheticsTestRequestPort::SyntheticsTestRequestNumericalPort(443)),
49 ),
50 vec!["aws:us-east-2".to_string()],
51 "BDD test payload: synthetics_api_test_udp_payload.json".to_string(),
52 "Example-Synthetic".to_string(),
53 SyntheticsTestOptions::new()
54 .accept_self_signed(false)
55 .allow_insecure(true)
56 .follow_redirects(true)
57 .min_failure_duration(10)
58 .min_location_failed(1)
59 .monitor_name("Example-Synthetic".to_string())
60 .monitor_priority(5)
61 .retry(
62 SyntheticsTestOptionsRetry::new()
63 .count(3)
64 .interval(10.0 as f64),
65 )
66 .tick_every(60),
67 SyntheticsAPITestType::API,
68 )
69 .subtype(SyntheticsTestDetailsSubType::UDP)
70 .tags(vec!["testing:api".to_string()]);
71 let configuration = datadog::Configuration::new();
72 let api = SyntheticsAPI::with_config(configuration);
73 let resp = api.create_synthetics_api_test(body).await;
74 if let Ok(value) = resp {
75 println!("{:#?}", value);
76 } else {
77 println!("{:#?}", resp.unwrap_err());
78 }
79}
- examples/v1_synthetics_CreateSyntheticsAPITest_1402674167.rs
- examples/v1_synthetics_UpdateAPITest.rs
- examples/v1_synthetics_CreateSyntheticsAPITest_1241981394.rs
- examples/v1_synthetics_CreateSyntheticsAPITest_960766374.rs
- examples/v1_synthetics_CreateSyntheticsAPITest_1717840259.rs
- examples/v1_synthetics_CreateSyntheticsAPITest_1487281163.rs
- examples/v1_synthetics_CreateSyntheticsAPITest_1987645492.rs
- examples/v1_synthetics_CreateSyntheticsAPITest_1279271422.rs
pub fn additional_properties(self, value: BTreeMap<String, Value>) -> Self
Trait Implementations§
Source§impl Clone for SyntheticsTestOptions
impl Clone for SyntheticsTestOptions
Source§fn clone(&self) -> SyntheticsTestOptions
fn clone(&self) -> SyntheticsTestOptions
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more