#[non_exhaustive]pub struct WorkflowDataAttributes {
pub created_at: Option<DateTime<Utc>>,
pub description: Option<String>,
pub name: String,
pub published: Option<bool>,
pub spec: Spec,
pub tags: Option<Vec<String>>,
pub updated_at: Option<DateTime<Utc>>,
pub webhook_secret: Option<String>,
pub additional_properties: BTreeMap<String, Value>,
/* private fields */
}
Expand description
The definition of WorkflowDataAttributes
object.
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.created_at: Option<DateTime<Utc>>
When the workflow was created.
description: Option<String>
Description of the workflow.
name: String
Name of the workflow.
published: Option<bool>
Set the workflow to published or unpublished. Workflows in an unpublished state will only be executable via manual runs. Automatic triggers such as Schedule will not execute the workflow until it is published.
spec: Spec
The spec defines what the workflow does.
Tags of the workflow.
updated_at: Option<DateTime<Utc>>
When the workflow was last updated.
webhook_secret: Option<String>
If a Webhook trigger is defined on this workflow, a webhookSecret is required and should be provided here.
additional_properties: BTreeMap<String, Value>
Implementations§
Source§impl WorkflowDataAttributes
impl WorkflowDataAttributes
Sourcepub fn new(name: String, spec: Spec) -> WorkflowDataAttributes
pub fn new(name: String, spec: Spec) -> WorkflowDataAttributes
Examples found in repository?
examples/v2_workflow-automation_CreateWorkflow.rs (lines 32-84)
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 .input_schema(InputSchema::new().parameters(vec![
41 InputSchemaParameters::new(
42 "input".to_string(),
43 InputSchemaParametersType::STRING,
44 ).default_value(Value::from("default"))
45 ]))
46 .output_schema(OutputSchema::new().parameters(vec![
47 OutputSchemaParameters::new(
48 "output".to_string(),
49 OutputSchemaParametersType::ARRAY_OBJECT,
50 ).value(Value::from("outputValue"))
51 ]))
52 .steps(vec![
53 Step::new(
54 "com.datadoghq.dd.monitor.listMonitors".to_string(),
55 "Step1".to_string(),
56 )
57 .connection_label("INTEGRATION_DATADOG".to_string())
58 .outbound_edges(vec![OutboundEdge::new(
59 "main".to_string(),
60 "Step2".to_string(),
61 )])
62 .parameters(vec![Parameter::new(
63 "tags".to_string(),
64 Value::from("service:monitoring"),
65 )]),
66 Step::new("com.datadoghq.core.noop".to_string(), "Step2".to_string()),
67 ])
68 .triggers(vec![
69 Trigger::MonitorTriggerWrapper(Box::new(
70 MonitorTriggerWrapper::new(
71 MonitorTrigger::new().rate_limit(
72 TriggerRateLimit::new()
73 .count(1)
74 .interval("3600s".to_string()),
75 ),
76 )
77 .start_step_names(vec!["Step1".to_string()]),
78 )),
79 Trigger::GithubWebhookTriggerWrapper(Box::new(
80 GithubWebhookTriggerWrapper::new(GithubWebhookTrigger::new())
81 .start_step_names(vec!["Step1".to_string()]),
82 )),
83 ]),
84 )
85 .description("A sample workflow.".to_string())
86 .published(true)
87 .tags(vec![
88 "team:infra".to_string(),
89 "service:monitoring".to_string(),
90 "foo:bar".to_string(),
91 ]),
92 WorkflowDataType::WORKFLOWS,
93 ));
94 let configuration = datadog::Configuration::new();
95 let api = WorkflowAutomationAPI::with_config(configuration);
96 let resp = api.create_workflow(body).await;
97 if let Ok(value) = resp {
98 println!("{:#?}", value);
99 } else {
100 println!("{:#?}", resp.unwrap_err());
101 }
102}
pub fn created_at(self, value: DateTime<Utc>) -> Self
Sourcepub fn description(self, value: String) -> Self
pub fn description(self, value: String) -> Self
Examples found in repository?
examples/v2_workflow-automation_CreateWorkflow.rs (line 85)
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 .input_schema(InputSchema::new().parameters(vec![
41 InputSchemaParameters::new(
42 "input".to_string(),
43 InputSchemaParametersType::STRING,
44 ).default_value(Value::from("default"))
45 ]))
46 .output_schema(OutputSchema::new().parameters(vec![
47 OutputSchemaParameters::new(
48 "output".to_string(),
49 OutputSchemaParametersType::ARRAY_OBJECT,
50 ).value(Value::from("outputValue"))
51 ]))
52 .steps(vec![
53 Step::new(
54 "com.datadoghq.dd.monitor.listMonitors".to_string(),
55 "Step1".to_string(),
56 )
57 .connection_label("INTEGRATION_DATADOG".to_string())
58 .outbound_edges(vec![OutboundEdge::new(
59 "main".to_string(),
60 "Step2".to_string(),
61 )])
62 .parameters(vec![Parameter::new(
63 "tags".to_string(),
64 Value::from("service:monitoring"),
65 )]),
66 Step::new("com.datadoghq.core.noop".to_string(), "Step2".to_string()),
67 ])
68 .triggers(vec![
69 Trigger::MonitorTriggerWrapper(Box::new(
70 MonitorTriggerWrapper::new(
71 MonitorTrigger::new().rate_limit(
72 TriggerRateLimit::new()
73 .count(1)
74 .interval("3600s".to_string()),
75 ),
76 )
77 .start_step_names(vec!["Step1".to_string()]),
78 )),
79 Trigger::GithubWebhookTriggerWrapper(Box::new(
80 GithubWebhookTriggerWrapper::new(GithubWebhookTrigger::new())
81 .start_step_names(vec!["Step1".to_string()]),
82 )),
83 ]),
84 )
85 .description("A sample workflow.".to_string())
86 .published(true)
87 .tags(vec![
88 "team:infra".to_string(),
89 "service:monitoring".to_string(),
90 "foo:bar".to_string(),
91 ]),
92 WorkflowDataType::WORKFLOWS,
93 ));
94 let configuration = datadog::Configuration::new();
95 let api = WorkflowAutomationAPI::with_config(configuration);
96 let resp = api.create_workflow(body).await;
97 if let Ok(value) = resp {
98 println!("{:#?}", value);
99 } else {
100 println!("{:#?}", resp.unwrap_err());
101 }
102}
Sourcepub fn published(self, value: bool) -> Self
pub fn published(self, value: bool) -> Self
Examples found in repository?
examples/v2_workflow-automation_CreateWorkflow.rs (line 86)
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 .input_schema(InputSchema::new().parameters(vec![
41 InputSchemaParameters::new(
42 "input".to_string(),
43 InputSchemaParametersType::STRING,
44 ).default_value(Value::from("default"))
45 ]))
46 .output_schema(OutputSchema::new().parameters(vec![
47 OutputSchemaParameters::new(
48 "output".to_string(),
49 OutputSchemaParametersType::ARRAY_OBJECT,
50 ).value(Value::from("outputValue"))
51 ]))
52 .steps(vec![
53 Step::new(
54 "com.datadoghq.dd.monitor.listMonitors".to_string(),
55 "Step1".to_string(),
56 )
57 .connection_label("INTEGRATION_DATADOG".to_string())
58 .outbound_edges(vec![OutboundEdge::new(
59 "main".to_string(),
60 "Step2".to_string(),
61 )])
62 .parameters(vec![Parameter::new(
63 "tags".to_string(),
64 Value::from("service:monitoring"),
65 )]),
66 Step::new("com.datadoghq.core.noop".to_string(), "Step2".to_string()),
67 ])
68 .triggers(vec![
69 Trigger::MonitorTriggerWrapper(Box::new(
70 MonitorTriggerWrapper::new(
71 MonitorTrigger::new().rate_limit(
72 TriggerRateLimit::new()
73 .count(1)
74 .interval("3600s".to_string()),
75 ),
76 )
77 .start_step_names(vec!["Step1".to_string()]),
78 )),
79 Trigger::GithubWebhookTriggerWrapper(Box::new(
80 GithubWebhookTriggerWrapper::new(GithubWebhookTrigger::new())
81 .start_step_names(vec!["Step1".to_string()]),
82 )),
83 ]),
84 )
85 .description("A sample workflow.".to_string())
86 .published(true)
87 .tags(vec![
88 "team:infra".to_string(),
89 "service:monitoring".to_string(),
90 "foo:bar".to_string(),
91 ]),
92 WorkflowDataType::WORKFLOWS,
93 ));
94 let configuration = datadog::Configuration::new();
95 let api = WorkflowAutomationAPI::with_config(configuration);
96 let resp = api.create_workflow(body).await;
97 if let Ok(value) = resp {
98 println!("{:#?}", value);
99 } else {
100 println!("{:#?}", resp.unwrap_err());
101 }
102}
Examples found in repository?
examples/v2_workflow-automation_CreateWorkflow.rs (lines 87-91)
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 .input_schema(InputSchema::new().parameters(vec![
41 InputSchemaParameters::new(
42 "input".to_string(),
43 InputSchemaParametersType::STRING,
44 ).default_value(Value::from("default"))
45 ]))
46 .output_schema(OutputSchema::new().parameters(vec![
47 OutputSchemaParameters::new(
48 "output".to_string(),
49 OutputSchemaParametersType::ARRAY_OBJECT,
50 ).value(Value::from("outputValue"))
51 ]))
52 .steps(vec![
53 Step::new(
54 "com.datadoghq.dd.monitor.listMonitors".to_string(),
55 "Step1".to_string(),
56 )
57 .connection_label("INTEGRATION_DATADOG".to_string())
58 .outbound_edges(vec![OutboundEdge::new(
59 "main".to_string(),
60 "Step2".to_string(),
61 )])
62 .parameters(vec![Parameter::new(
63 "tags".to_string(),
64 Value::from("service:monitoring"),
65 )]),
66 Step::new("com.datadoghq.core.noop".to_string(), "Step2".to_string()),
67 ])
68 .triggers(vec![
69 Trigger::MonitorTriggerWrapper(Box::new(
70 MonitorTriggerWrapper::new(
71 MonitorTrigger::new().rate_limit(
72 TriggerRateLimit::new()
73 .count(1)
74 .interval("3600s".to_string()),
75 ),
76 )
77 .start_step_names(vec!["Step1".to_string()]),
78 )),
79 Trigger::GithubWebhookTriggerWrapper(Box::new(
80 GithubWebhookTriggerWrapper::new(GithubWebhookTrigger::new())
81 .start_step_names(vec!["Step1".to_string()]),
82 )),
83 ]),
84 )
85 .description("A sample workflow.".to_string())
86 .published(true)
87 .tags(vec![
88 "team:infra".to_string(),
89 "service:monitoring".to_string(),
90 "foo:bar".to_string(),
91 ]),
92 WorkflowDataType::WORKFLOWS,
93 ));
94 let configuration = datadog::Configuration::new();
95 let api = WorkflowAutomationAPI::with_config(configuration);
96 let resp = api.create_workflow(body).await;
97 if let Ok(value) = resp {
98 println!("{:#?}", value);
99 } else {
100 println!("{:#?}", resp.unwrap_err());
101 }
102}
pub fn updated_at(self, value: DateTime<Utc>) -> Self
pub fn webhook_secret(self, value: String) -> Self
pub fn additional_properties(self, value: BTreeMap<String, Value>) -> Self
Trait Implementations§
Source§impl Clone for WorkflowDataAttributes
impl Clone for WorkflowDataAttributes
Source§fn clone(&self) -> WorkflowDataAttributes
fn clone(&self) -> WorkflowDataAttributes
Returns a duplicate 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 WorkflowDataAttributes
impl Debug for WorkflowDataAttributes
Source§impl<'de> Deserialize<'de> for WorkflowDataAttributes
impl<'de> Deserialize<'de> for WorkflowDataAttributes
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 WorkflowDataAttributes
impl PartialEq for WorkflowDataAttributes
Source§impl Serialize for WorkflowDataAttributes
impl Serialize for WorkflowDataAttributes
impl StructuralPartialEq for WorkflowDataAttributes
Auto Trait Implementations§
impl Freeze for WorkflowDataAttributes
impl RefUnwindSafe for WorkflowDataAttributes
impl Send for WorkflowDataAttributes
impl Sync for WorkflowDataAttributes
impl Unpin for WorkflowDataAttributes
impl UnwindSafe for WorkflowDataAttributes
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