#[non_exhaustive]pub struct WorkflowData {
pub attributes: WorkflowDataAttributes,
pub id: Option<String>,
pub relationships: Option<WorkflowDataRelationships>,
pub type_: WorkflowDataType,
pub additional_properties: BTreeMap<String, Value>,
/* private fields */
}
Expand description
Data related to the workflow.
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.attributes: WorkflowDataAttributes
The definition of WorkflowDataAttributes
object.
id: Option<String>
The workflow identifier
relationships: Option<WorkflowDataRelationships>
The definition of WorkflowDataRelationships
object.
type_: WorkflowDataType
The definition of WorkflowDataType
object.
additional_properties: BTreeMap<String, Value>
Implementations§
Source§impl WorkflowData
impl WorkflowData
Sourcepub fn new(
attributes: WorkflowDataAttributes,
type_: WorkflowDataType,
) -> WorkflowData
pub fn new( attributes: WorkflowDataAttributes, type_: WorkflowDataType, ) -> WorkflowData
Examples found in repository?
examples/v2_workflow-automation_CreateWorkflow.rs (lines 31-93)
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 id(self, value: String) -> Self
pub fn relationships(self, value: WorkflowDataRelationships) -> Self
pub fn additional_properties(self, value: BTreeMap<String, Value>) -> Self
Trait Implementations§
Source§impl Clone for WorkflowData
impl Clone for WorkflowData
Source§fn clone(&self) -> WorkflowData
fn clone(&self) -> WorkflowData
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 WorkflowData
impl Debug for WorkflowData
Source§impl<'de> Deserialize<'de> for WorkflowData
impl<'de> Deserialize<'de> for WorkflowData
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 WorkflowData
impl PartialEq for WorkflowData
Source§impl Serialize for WorkflowData
impl Serialize for WorkflowData
impl StructuralPartialEq for WorkflowData
Auto Trait Implementations§
impl Freeze for WorkflowData
impl RefUnwindSafe for WorkflowData
impl Send for WorkflowData
impl Sync for WorkflowData
impl Unpin for WorkflowData
impl UnwindSafe for WorkflowData
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