#[non_exhaustive]pub struct Connection {
pub connection_id: String,
pub label: String,
pub additional_properties: BTreeMap<String, Value>,
/* private fields */
}
Expand description
The definition of Connection
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.connection_id: String
The Connection
connectionId
.
label: String
The Connection
label
.
additional_properties: BTreeMap<String, Value>
Implementations§
Source§impl Connection
impl Connection
Sourcepub fn new(connection_id: String, label: String) -> Connection
pub fn new(connection_id: String, label: String) -> Connection
Examples found in repository?
examples/v2_workflow-automation_CreateWorkflow.rs (lines 36-39)
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}
More examples
examples/v2_workflow-automation_UpdateWorkflow.rs (lines 42-45)
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 .input_schema(InputSchema::new().parameters(vec![
47 InputSchemaParameters::new(
48 "input".to_string(),
49 InputSchemaParametersType::STRING,
50 ).default_value(Value::from("default"))
51 ]))
52 .output_schema(OutputSchema::new().parameters(vec![
53 OutputSchemaParameters::new(
54 "output".to_string(),
55 OutputSchemaParametersType::ARRAY_OBJECT,
56 ).value(Value::from("outputValue"))
57 ]))
58 .steps(vec![
59 Step::new(
60 "com.datadoghq.dd.monitor.listMonitors".to_string(),
61 "Step1".to_string(),
62 )
63 .connection_label("INTEGRATION_DATADOG".to_string())
64 .outbound_edges(vec![OutboundEdge::new(
65 "main".to_string(),
66 "Step2".to_string(),
67 )])
68 .parameters(vec![Parameter::new(
69 "tags".to_string(),
70 Value::from("service:monitoring"),
71 )]),
72 Step::new("com.datadoghq.core.noop".to_string(), "Step2".to_string()),
73 ])
74 .triggers(vec![
75 Trigger::MonitorTriggerWrapper(Box::new(
76 MonitorTriggerWrapper::new(
77 MonitorTrigger::new().rate_limit(
78 TriggerRateLimit::new()
79 .count(1)
80 .interval("3600s".to_string()),
81 ),
82 )
83 .start_step_names(vec!["Step1".to_string()]),
84 )),
85 Trigger::GithubWebhookTriggerWrapper(Box::new(
86 GithubWebhookTriggerWrapper::new(GithubWebhookTrigger::new())
87 .start_step_names(vec!["Step1".to_string()]),
88 )),
89 ]),
90 )
91 .tags(vec![
92 "team:infra".to_string(),
93 "service:monitoring".to_string(),
94 "foo:bar".to_string(),
95 ]),
96 WorkflowDataType::WORKFLOWS,
97 )
98 .id("22222222-2222-2222-2222-222222222222".to_string()),
99 );
100 let configuration = datadog::Configuration::new();
101 let api = WorkflowAutomationAPI::with_config(configuration);
102 let resp = api.update_workflow(workflow_data_id.clone(), body).await;
103 if let Ok(value) = resp {
104 println!("{:#?}", value);
105 } else {
106 println!("{:#?}", resp.unwrap_err());
107 }
108}
pub fn additional_properties(self, value: BTreeMap<String, Value>) -> Self
Trait Implementations§
Source§impl Clone for Connection
impl Clone for Connection
Source§fn clone(&self) -> Connection
fn clone(&self) -> Connection
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 Connection
impl Debug for Connection
Source§impl<'de> Deserialize<'de> for Connection
impl<'de> Deserialize<'de> for Connection
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 Connection
impl PartialEq for Connection
Source§impl Serialize for Connection
impl Serialize for Connection
impl StructuralPartialEq for Connection
Auto Trait Implementations§
impl Freeze for Connection
impl RefUnwindSafe for Connection
impl Send for Connection
impl Sync for Connection
impl Unpin for Connection
impl UnwindSafe for Connection
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