#[non_exhaustive]pub struct TriggerRateLimit {
pub count: Option<i64>,
pub interval: Option<String>,
pub additional_properties: BTreeMap<String, Value>,
/* private fields */
}
Expand description
Defines a rate limit for a trigger.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. }
syntax; cannot be matched against without a wildcard ..
; and struct update syntax will not work.count: Option<i64>
The TriggerRateLimit
count
.
interval: Option<String>
The TriggerRateLimit
interval
. The expected format is the number of seconds ending with an s. For example, 1 day is 86400s
additional_properties: BTreeMap<String, Value>
Implementations§
Source§impl TriggerRateLimit
impl TriggerRateLimit
Sourcepub fn new() -> TriggerRateLimit
pub fn new() -> TriggerRateLimit
Examples found in repository?
examples/v2_workflow-automation_CreateWorkflow.rs (line 73)
30async fn main() {
31 let body = CreateWorkflowRequest::new(WorkflowData::new(
32 WorkflowDataAttributes::new(
33 "Example Workflow".to_string(),
34 Spec::new()
35 .connection_envs(vec![ConnectionEnv::new(ConnectionEnvEnv::DEFAULT)
36 .connections(vec![Connection::new(
37 "11111111-1111-1111-1111-111111111111".to_string(),
38 "INTEGRATION_DATADOG".to_string(),
39 )])])
40 .handle("my-handle".to_string())
41 .input_schema(InputSchema::new().parameters(vec![
42 InputSchemaParameters::new(
43 "input".to_string(),
44 InputSchemaParametersType::STRING,
45 ).default_value(Value::from("default"))
46 ]))
47 .output_schema(OutputSchema::new().parameters(vec![
48 OutputSchemaParameters::new(
49 "output".to_string(),
50 OutputSchemaParametersType::ARRAY_OBJECT,
51 ).value(Value::from("outputValue"))
52 ]))
53 .steps(vec![
54 Step::new(
55 "com.datadoghq.dd.monitor.listMonitors".to_string(),
56 "Step1".to_string(),
57 )
58 .connection_label("INTEGRATION_DATADOG".to_string())
59 .outbound_edges(vec![OutboundEdge::new(
60 "main".to_string(),
61 "Step2".to_string(),
62 )])
63 .parameters(vec![Parameter::new(
64 "tags".to_string(),
65 Value::from("service:monitoring"),
66 )]),
67 Step::new("com.datadoghq.core.noop".to_string(), "Step2".to_string()),
68 ])
69 .triggers(vec![
70 Trigger::MonitorTriggerWrapper(Box::new(
71 MonitorTriggerWrapper::new(
72 MonitorTrigger::new().rate_limit(
73 TriggerRateLimit::new()
74 .count(1)
75 .interval("3600s".to_string()),
76 ),
77 )
78 .start_step_names(vec!["Step1".to_string()]),
79 )),
80 Trigger::GithubWebhookTriggerWrapper(Box::new(
81 GithubWebhookTriggerWrapper::new(GithubWebhookTrigger::new())
82 .start_step_names(vec!["Step1".to_string()]),
83 )),
84 ]),
85 )
86 .description("A sample workflow.".to_string())
87 .published(true)
88 .tags(vec![
89 "team:infra".to_string(),
90 "service:monitoring".to_string(),
91 "foo:bar".to_string(),
92 ]),
93 WorkflowDataType::WORKFLOWS,
94 ));
95 let configuration = datadog::Configuration::new();
96 let api = WorkflowAutomationAPI::with_config(configuration);
97 let resp = api.create_workflow(body).await;
98 if let Ok(value) = resp {
99 println!("{:#?}", value);
100 } else {
101 println!("{:#?}", resp.unwrap_err());
102 }
103}
More examples
examples/v2_workflow-automation_UpdateWorkflow.rs (line 79)
30async fn main() {
31 // there is a valid "workflow" in the system
32 let workflow_data_id = std::env::var("WORKFLOW_DATA_ID").unwrap();
33 let body = UpdateWorkflowRequest::new(
34 WorkflowDataUpdate::new(
35 WorkflowDataUpdateAttributes::new()
36 .description("A sample workflow.".to_string())
37 .name("Example Workflow".to_string())
38 .published(true)
39 .spec(
40 Spec::new()
41 .connection_envs(vec![ConnectionEnv::new(ConnectionEnvEnv::DEFAULT)
42 .connections(vec![Connection::new(
43 "11111111-1111-1111-1111-111111111111".to_string(),
44 "INTEGRATION_DATADOG".to_string(),
45 )])])
46 .handle("my-handle".to_string())
47 .input_schema(InputSchema::new().parameters(vec![
48 InputSchemaParameters::new(
49 "input".to_string(),
50 InputSchemaParametersType::STRING,
51 ).default_value(Value::from("default"))
52 ]))
53 .output_schema(OutputSchema::new().parameters(vec![
54 OutputSchemaParameters::new(
55 "output".to_string(),
56 OutputSchemaParametersType::ARRAY_OBJECT,
57 ).value(Value::from("outputValue"))
58 ]))
59 .steps(vec![
60 Step::new(
61 "com.datadoghq.dd.monitor.listMonitors".to_string(),
62 "Step1".to_string(),
63 )
64 .connection_label("INTEGRATION_DATADOG".to_string())
65 .outbound_edges(vec![OutboundEdge::new(
66 "main".to_string(),
67 "Step2".to_string(),
68 )])
69 .parameters(vec![Parameter::new(
70 "tags".to_string(),
71 Value::from("service:monitoring"),
72 )]),
73 Step::new("com.datadoghq.core.noop".to_string(), "Step2".to_string()),
74 ])
75 .triggers(vec![
76 Trigger::MonitorTriggerWrapper(Box::new(
77 MonitorTriggerWrapper::new(
78 MonitorTrigger::new().rate_limit(
79 TriggerRateLimit::new()
80 .count(1)
81 .interval("3600s".to_string()),
82 ),
83 )
84 .start_step_names(vec!["Step1".to_string()]),
85 )),
86 Trigger::GithubWebhookTriggerWrapper(Box::new(
87 GithubWebhookTriggerWrapper::new(GithubWebhookTrigger::new())
88 .start_step_names(vec!["Step1".to_string()]),
89 )),
90 ]),
91 )
92 .tags(vec![
93 "team:infra".to_string(),
94 "service:monitoring".to_string(),
95 "foo:bar".to_string(),
96 ]),
97 WorkflowDataType::WORKFLOWS,
98 )
99 .id("22222222-2222-2222-2222-222222222222".to_string()),
100 );
101 let configuration = datadog::Configuration::new();
102 let api = WorkflowAutomationAPI::with_config(configuration);
103 let resp = api.update_workflow(workflow_data_id.clone(), body).await;
104 if let Ok(value) = resp {
105 println!("{:#?}", value);
106 } else {
107 println!("{:#?}", resp.unwrap_err());
108 }
109}
Sourcepub fn count(self, value: i64) -> Self
pub fn count(self, value: i64) -> Self
Examples found in repository?
examples/v2_workflow-automation_CreateWorkflow.rs (line 74)
30async fn main() {
31 let body = CreateWorkflowRequest::new(WorkflowData::new(
32 WorkflowDataAttributes::new(
33 "Example Workflow".to_string(),
34 Spec::new()
35 .connection_envs(vec![ConnectionEnv::new(ConnectionEnvEnv::DEFAULT)
36 .connections(vec![Connection::new(
37 "11111111-1111-1111-1111-111111111111".to_string(),
38 "INTEGRATION_DATADOG".to_string(),
39 )])])
40 .handle("my-handle".to_string())
41 .input_schema(InputSchema::new().parameters(vec![
42 InputSchemaParameters::new(
43 "input".to_string(),
44 InputSchemaParametersType::STRING,
45 ).default_value(Value::from("default"))
46 ]))
47 .output_schema(OutputSchema::new().parameters(vec![
48 OutputSchemaParameters::new(
49 "output".to_string(),
50 OutputSchemaParametersType::ARRAY_OBJECT,
51 ).value(Value::from("outputValue"))
52 ]))
53 .steps(vec![
54 Step::new(
55 "com.datadoghq.dd.monitor.listMonitors".to_string(),
56 "Step1".to_string(),
57 )
58 .connection_label("INTEGRATION_DATADOG".to_string())
59 .outbound_edges(vec![OutboundEdge::new(
60 "main".to_string(),
61 "Step2".to_string(),
62 )])
63 .parameters(vec![Parameter::new(
64 "tags".to_string(),
65 Value::from("service:monitoring"),
66 )]),
67 Step::new("com.datadoghq.core.noop".to_string(), "Step2".to_string()),
68 ])
69 .triggers(vec![
70 Trigger::MonitorTriggerWrapper(Box::new(
71 MonitorTriggerWrapper::new(
72 MonitorTrigger::new().rate_limit(
73 TriggerRateLimit::new()
74 .count(1)
75 .interval("3600s".to_string()),
76 ),
77 )
78 .start_step_names(vec!["Step1".to_string()]),
79 )),
80 Trigger::GithubWebhookTriggerWrapper(Box::new(
81 GithubWebhookTriggerWrapper::new(GithubWebhookTrigger::new())
82 .start_step_names(vec!["Step1".to_string()]),
83 )),
84 ]),
85 )
86 .description("A sample workflow.".to_string())
87 .published(true)
88 .tags(vec![
89 "team:infra".to_string(),
90 "service:monitoring".to_string(),
91 "foo:bar".to_string(),
92 ]),
93 WorkflowDataType::WORKFLOWS,
94 ));
95 let configuration = datadog::Configuration::new();
96 let api = WorkflowAutomationAPI::with_config(configuration);
97 let resp = api.create_workflow(body).await;
98 if let Ok(value) = resp {
99 println!("{:#?}", value);
100 } else {
101 println!("{:#?}", resp.unwrap_err());
102 }
103}
More examples
examples/v2_workflow-automation_UpdateWorkflow.rs (line 80)
30async fn main() {
31 // there is a valid "workflow" in the system
32 let workflow_data_id = std::env::var("WORKFLOW_DATA_ID").unwrap();
33 let body = UpdateWorkflowRequest::new(
34 WorkflowDataUpdate::new(
35 WorkflowDataUpdateAttributes::new()
36 .description("A sample workflow.".to_string())
37 .name("Example Workflow".to_string())
38 .published(true)
39 .spec(
40 Spec::new()
41 .connection_envs(vec![ConnectionEnv::new(ConnectionEnvEnv::DEFAULT)
42 .connections(vec![Connection::new(
43 "11111111-1111-1111-1111-111111111111".to_string(),
44 "INTEGRATION_DATADOG".to_string(),
45 )])])
46 .handle("my-handle".to_string())
47 .input_schema(InputSchema::new().parameters(vec![
48 InputSchemaParameters::new(
49 "input".to_string(),
50 InputSchemaParametersType::STRING,
51 ).default_value(Value::from("default"))
52 ]))
53 .output_schema(OutputSchema::new().parameters(vec![
54 OutputSchemaParameters::new(
55 "output".to_string(),
56 OutputSchemaParametersType::ARRAY_OBJECT,
57 ).value(Value::from("outputValue"))
58 ]))
59 .steps(vec![
60 Step::new(
61 "com.datadoghq.dd.monitor.listMonitors".to_string(),
62 "Step1".to_string(),
63 )
64 .connection_label("INTEGRATION_DATADOG".to_string())
65 .outbound_edges(vec![OutboundEdge::new(
66 "main".to_string(),
67 "Step2".to_string(),
68 )])
69 .parameters(vec![Parameter::new(
70 "tags".to_string(),
71 Value::from("service:monitoring"),
72 )]),
73 Step::new("com.datadoghq.core.noop".to_string(), "Step2".to_string()),
74 ])
75 .triggers(vec![
76 Trigger::MonitorTriggerWrapper(Box::new(
77 MonitorTriggerWrapper::new(
78 MonitorTrigger::new().rate_limit(
79 TriggerRateLimit::new()
80 .count(1)
81 .interval("3600s".to_string()),
82 ),
83 )
84 .start_step_names(vec!["Step1".to_string()]),
85 )),
86 Trigger::GithubWebhookTriggerWrapper(Box::new(
87 GithubWebhookTriggerWrapper::new(GithubWebhookTrigger::new())
88 .start_step_names(vec!["Step1".to_string()]),
89 )),
90 ]),
91 )
92 .tags(vec![
93 "team:infra".to_string(),
94 "service:monitoring".to_string(),
95 "foo:bar".to_string(),
96 ]),
97 WorkflowDataType::WORKFLOWS,
98 )
99 .id("22222222-2222-2222-2222-222222222222".to_string()),
100 );
101 let configuration = datadog::Configuration::new();
102 let api = WorkflowAutomationAPI::with_config(configuration);
103 let resp = api.update_workflow(workflow_data_id.clone(), body).await;
104 if let Ok(value) = resp {
105 println!("{:#?}", value);
106 } else {
107 println!("{:#?}", resp.unwrap_err());
108 }
109}
Sourcepub fn interval(self, value: String) -> Self
pub fn interval(self, value: String) -> Self
Examples found in repository?
examples/v2_workflow-automation_CreateWorkflow.rs (line 75)
30async fn main() {
31 let body = CreateWorkflowRequest::new(WorkflowData::new(
32 WorkflowDataAttributes::new(
33 "Example Workflow".to_string(),
34 Spec::new()
35 .connection_envs(vec![ConnectionEnv::new(ConnectionEnvEnv::DEFAULT)
36 .connections(vec![Connection::new(
37 "11111111-1111-1111-1111-111111111111".to_string(),
38 "INTEGRATION_DATADOG".to_string(),
39 )])])
40 .handle("my-handle".to_string())
41 .input_schema(InputSchema::new().parameters(vec![
42 InputSchemaParameters::new(
43 "input".to_string(),
44 InputSchemaParametersType::STRING,
45 ).default_value(Value::from("default"))
46 ]))
47 .output_schema(OutputSchema::new().parameters(vec![
48 OutputSchemaParameters::new(
49 "output".to_string(),
50 OutputSchemaParametersType::ARRAY_OBJECT,
51 ).value(Value::from("outputValue"))
52 ]))
53 .steps(vec![
54 Step::new(
55 "com.datadoghq.dd.monitor.listMonitors".to_string(),
56 "Step1".to_string(),
57 )
58 .connection_label("INTEGRATION_DATADOG".to_string())
59 .outbound_edges(vec![OutboundEdge::new(
60 "main".to_string(),
61 "Step2".to_string(),
62 )])
63 .parameters(vec![Parameter::new(
64 "tags".to_string(),
65 Value::from("service:monitoring"),
66 )]),
67 Step::new("com.datadoghq.core.noop".to_string(), "Step2".to_string()),
68 ])
69 .triggers(vec![
70 Trigger::MonitorTriggerWrapper(Box::new(
71 MonitorTriggerWrapper::new(
72 MonitorTrigger::new().rate_limit(
73 TriggerRateLimit::new()
74 .count(1)
75 .interval("3600s".to_string()),
76 ),
77 )
78 .start_step_names(vec!["Step1".to_string()]),
79 )),
80 Trigger::GithubWebhookTriggerWrapper(Box::new(
81 GithubWebhookTriggerWrapper::new(GithubWebhookTrigger::new())
82 .start_step_names(vec!["Step1".to_string()]),
83 )),
84 ]),
85 )
86 .description("A sample workflow.".to_string())
87 .published(true)
88 .tags(vec![
89 "team:infra".to_string(),
90 "service:monitoring".to_string(),
91 "foo:bar".to_string(),
92 ]),
93 WorkflowDataType::WORKFLOWS,
94 ));
95 let configuration = datadog::Configuration::new();
96 let api = WorkflowAutomationAPI::with_config(configuration);
97 let resp = api.create_workflow(body).await;
98 if let Ok(value) = resp {
99 println!("{:#?}", value);
100 } else {
101 println!("{:#?}", resp.unwrap_err());
102 }
103}
More examples
examples/v2_workflow-automation_UpdateWorkflow.rs (line 81)
30async fn main() {
31 // there is a valid "workflow" in the system
32 let workflow_data_id = std::env::var("WORKFLOW_DATA_ID").unwrap();
33 let body = UpdateWorkflowRequest::new(
34 WorkflowDataUpdate::new(
35 WorkflowDataUpdateAttributes::new()
36 .description("A sample workflow.".to_string())
37 .name("Example Workflow".to_string())
38 .published(true)
39 .spec(
40 Spec::new()
41 .connection_envs(vec![ConnectionEnv::new(ConnectionEnvEnv::DEFAULT)
42 .connections(vec![Connection::new(
43 "11111111-1111-1111-1111-111111111111".to_string(),
44 "INTEGRATION_DATADOG".to_string(),
45 )])])
46 .handle("my-handle".to_string())
47 .input_schema(InputSchema::new().parameters(vec![
48 InputSchemaParameters::new(
49 "input".to_string(),
50 InputSchemaParametersType::STRING,
51 ).default_value(Value::from("default"))
52 ]))
53 .output_schema(OutputSchema::new().parameters(vec![
54 OutputSchemaParameters::new(
55 "output".to_string(),
56 OutputSchemaParametersType::ARRAY_OBJECT,
57 ).value(Value::from("outputValue"))
58 ]))
59 .steps(vec![
60 Step::new(
61 "com.datadoghq.dd.monitor.listMonitors".to_string(),
62 "Step1".to_string(),
63 )
64 .connection_label("INTEGRATION_DATADOG".to_string())
65 .outbound_edges(vec![OutboundEdge::new(
66 "main".to_string(),
67 "Step2".to_string(),
68 )])
69 .parameters(vec![Parameter::new(
70 "tags".to_string(),
71 Value::from("service:monitoring"),
72 )]),
73 Step::new("com.datadoghq.core.noop".to_string(), "Step2".to_string()),
74 ])
75 .triggers(vec![
76 Trigger::MonitorTriggerWrapper(Box::new(
77 MonitorTriggerWrapper::new(
78 MonitorTrigger::new().rate_limit(
79 TriggerRateLimit::new()
80 .count(1)
81 .interval("3600s".to_string()),
82 ),
83 )
84 .start_step_names(vec!["Step1".to_string()]),
85 )),
86 Trigger::GithubWebhookTriggerWrapper(Box::new(
87 GithubWebhookTriggerWrapper::new(GithubWebhookTrigger::new())
88 .start_step_names(vec!["Step1".to_string()]),
89 )),
90 ]),
91 )
92 .tags(vec![
93 "team:infra".to_string(),
94 "service:monitoring".to_string(),
95 "foo:bar".to_string(),
96 ]),
97 WorkflowDataType::WORKFLOWS,
98 )
99 .id("22222222-2222-2222-2222-222222222222".to_string()),
100 );
101 let configuration = datadog::Configuration::new();
102 let api = WorkflowAutomationAPI::with_config(configuration);
103 let resp = api.update_workflow(workflow_data_id.clone(), body).await;
104 if let Ok(value) = resp {
105 println!("{:#?}", value);
106 } else {
107 println!("{:#?}", resp.unwrap_err());
108 }
109}
pub fn additional_properties(self, value: BTreeMap<String, Value>) -> Self
Trait Implementations§
Source§impl Clone for TriggerRateLimit
impl Clone for TriggerRateLimit
Source§fn clone(&self) -> TriggerRateLimit
fn clone(&self) -> TriggerRateLimit
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for TriggerRateLimit
impl Debug for TriggerRateLimit
Source§impl Default for TriggerRateLimit
impl Default for TriggerRateLimit
Source§impl<'de> Deserialize<'de> for TriggerRateLimit
impl<'de> Deserialize<'de> for TriggerRateLimit
Source§fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl PartialEq for TriggerRateLimit
impl PartialEq for TriggerRateLimit
Source§impl Serialize for TriggerRateLimit
impl Serialize for TriggerRateLimit
impl StructuralPartialEq for TriggerRateLimit
Auto Trait Implementations§
impl Freeze for TriggerRateLimit
impl RefUnwindSafe for TriggerRateLimit
impl Send for TriggerRateLimit
impl Sync for TriggerRateLimit
impl Unpin for TriggerRateLimit
impl UnwindSafe for TriggerRateLimit
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more