pub struct WorkflowAutomationAPI { /* private fields */ }
Expand description
Datadog Workflow Automation allows you to automate your end-to-end processes by connecting Datadog with the rest of your tech stack. Build workflows to auto-remediate your alerts, streamline your incident and security processes, and reduce manual toil. Workflow Automation supports over 1,000+ OOTB actions, including AWS, JIRA, ServiceNow, GitHub, and OpenAI. Learn more in our Workflow Automation docs here.
Implementations§
Source§impl WorkflowAutomationAPI
impl WorkflowAutomationAPI
pub fn new() -> Self
Sourcepub fn with_config(config: Configuration) -> Self
pub fn with_config(config: Configuration) -> Self
Examples found in repository?
6async fn main() {
7 // there is a valid "workflow" in the system
8 let workflow_data_id = std::env::var("WORKFLOW_DATA_ID").unwrap();
9 let configuration = datadog::Configuration::new();
10 let api = WorkflowAutomationAPI::with_config(configuration);
11 let resp = api.get_workflow(workflow_data_id.clone()).await;
12 if let Ok(value) = resp {
13 println!("{:#?}", value);
14 } else {
15 println!("{:#?}", resp.unwrap_err());
16 }
17}
More examples
6async fn main() {
7 // there is a valid "workflow" in the system
8 let workflow_data_id = std::env::var("WORKFLOW_DATA_ID").unwrap();
9 let configuration = datadog::Configuration::new();
10 let api = WorkflowAutomationAPI::with_config(configuration);
11 let resp = api.delete_workflow(workflow_data_id.clone()).await;
12 if let Ok(value) = resp {
13 println!("{:#?}", value);
14 } else {
15 println!("{:#?}", resp.unwrap_err());
16 }
17}
7async fn main() {
8 let configuration = datadog::Configuration::new();
9 let api = WorkflowAutomationAPI::with_config(configuration);
10 let resp = api
11 .list_workflow_instances(
12 "ccf73164-1998-4785-a7a3-8d06c7e5f558".to_string(),
13 ListWorkflowInstancesOptionalParams::default(),
14 )
15 .await;
16 if let Ok(value) = resp {
17 println!("{:#?}", value);
18 } else {
19 println!("{:#?}", resp.unwrap_err());
20 }
21}
6async fn main() {
7 let configuration = datadog::Configuration::new();
8 let api = WorkflowAutomationAPI::with_config(configuration);
9 let resp = api
10 .get_workflow_instance(
11 "ccf73164-1998-4785-a7a3-8d06c7e5f558".to_string(),
12 "305a472b-71ab-4ce8-8f8d-75db635627b5".to_string(),
13 )
14 .await;
15 if let Ok(value) = resp {
16 println!("{:#?}", value);
17 } else {
18 println!("{:#?}", resp.unwrap_err());
19 }
20}
6async fn main() {
7 let configuration = datadog::Configuration::new();
8 let api = WorkflowAutomationAPI::with_config(configuration);
9 let resp = api
10 .cancel_workflow_instance(
11 "ccf73164-1998-4785-a7a3-8d06c7e5f558".to_string(),
12 "305a472b-71ab-4ce8-8f8d-75db635627b5".to_string(),
13 )
14 .await;
15 if let Ok(value) = resp {
16 println!("{:#?}", value);
17 } else {
18 println!("{:#?}", resp.unwrap_err());
19 }
20}
10async fn main() {
11 let body =
12 WorkflowInstanceCreateRequest::new().meta(WorkflowInstanceCreateMeta::new().payload(
13 BTreeMap::from([("input".to_string(), Value::from("value"))]),
14 ));
15 let configuration = datadog::Configuration::new();
16 let api = WorkflowAutomationAPI::with_config(configuration);
17 let resp = api
18 .create_workflow_instance("ccf73164-1998-4785-a7a3-8d06c7e5f558".to_string(), body)
19 .await;
20 if let Ok(value) = resp {
21 println!("{:#?}", value);
22 } else {
23 println!("{:#?}", resp.unwrap_err());
24 }
25}
pub fn with_client_and_config( config: Configuration, client: ClientWithMiddleware, ) -> Self
Sourcepub async fn cancel_workflow_instance(
&self,
workflow_id: String,
instance_id: String,
) -> Result<WorklflowCancelInstanceResponse, Error<CancelWorkflowInstanceError>>
pub async fn cancel_workflow_instance( &self, workflow_id: String, instance_id: String, ) -> Result<WorklflowCancelInstanceResponse, Error<CancelWorkflowInstanceError>>
Cancels a specific execution of a given workflow. This API requires a registered application key.
Examples found in repository?
6async fn main() {
7 let configuration = datadog::Configuration::new();
8 let api = WorkflowAutomationAPI::with_config(configuration);
9 let resp = api
10 .cancel_workflow_instance(
11 "ccf73164-1998-4785-a7a3-8d06c7e5f558".to_string(),
12 "305a472b-71ab-4ce8-8f8d-75db635627b5".to_string(),
13 )
14 .await;
15 if let Ok(value) = resp {
16 println!("{:#?}", value);
17 } else {
18 println!("{:#?}", resp.unwrap_err());
19 }
20}
Sourcepub async fn cancel_workflow_instance_with_http_info(
&self,
workflow_id: String,
instance_id: String,
) -> Result<ResponseContent<WorklflowCancelInstanceResponse>, Error<CancelWorkflowInstanceError>>
pub async fn cancel_workflow_instance_with_http_info( &self, workflow_id: String, instance_id: String, ) -> Result<ResponseContent<WorklflowCancelInstanceResponse>, Error<CancelWorkflowInstanceError>>
Cancels a specific execution of a given workflow. This API requires a registered application key.
Sourcepub async fn create_workflow(
&self,
body: CreateWorkflowRequest,
) -> Result<CreateWorkflowResponse, Error<CreateWorkflowError>>
pub async fn create_workflow( &self, body: CreateWorkflowRequest, ) -> Result<CreateWorkflowResponse, Error<CreateWorkflowError>>
Create a new workflow, returning the workflow ID. This API requires a registered application key.
Examples found in repository?
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 async fn create_workflow_with_http_info(
&self,
body: CreateWorkflowRequest,
) -> Result<ResponseContent<CreateWorkflowResponse>, Error<CreateWorkflowError>>
pub async fn create_workflow_with_http_info( &self, body: CreateWorkflowRequest, ) -> Result<ResponseContent<CreateWorkflowResponse>, Error<CreateWorkflowError>>
Create a new workflow, returning the workflow ID. This API requires a registered application key.
Sourcepub async fn create_workflow_instance(
&self,
workflow_id: String,
body: WorkflowInstanceCreateRequest,
) -> Result<WorkflowInstanceCreateResponse, Error<CreateWorkflowInstanceError>>
pub async fn create_workflow_instance( &self, workflow_id: String, body: WorkflowInstanceCreateRequest, ) -> Result<WorkflowInstanceCreateResponse, Error<CreateWorkflowInstanceError>>
Execute the given workflow. This API requires a registered application key.
Examples found in repository?
10async fn main() {
11 let body =
12 WorkflowInstanceCreateRequest::new().meta(WorkflowInstanceCreateMeta::new().payload(
13 BTreeMap::from([("input".to_string(), Value::from("value"))]),
14 ));
15 let configuration = datadog::Configuration::new();
16 let api = WorkflowAutomationAPI::with_config(configuration);
17 let resp = api
18 .create_workflow_instance("ccf73164-1998-4785-a7a3-8d06c7e5f558".to_string(), body)
19 .await;
20 if let Ok(value) = resp {
21 println!("{:#?}", value);
22 } else {
23 println!("{:#?}", resp.unwrap_err());
24 }
25}
Sourcepub async fn create_workflow_instance_with_http_info(
&self,
workflow_id: String,
body: WorkflowInstanceCreateRequest,
) -> Result<ResponseContent<WorkflowInstanceCreateResponse>, Error<CreateWorkflowInstanceError>>
pub async fn create_workflow_instance_with_http_info( &self, workflow_id: String, body: WorkflowInstanceCreateRequest, ) -> Result<ResponseContent<WorkflowInstanceCreateResponse>, Error<CreateWorkflowInstanceError>>
Execute the given workflow. This API requires a registered application key.
Sourcepub async fn delete_workflow(
&self,
workflow_id: String,
) -> Result<(), Error<DeleteWorkflowError>>
pub async fn delete_workflow( &self, workflow_id: String, ) -> Result<(), Error<DeleteWorkflowError>>
Delete a workflow by ID. This API requires a registered application key.
Examples found in repository?
6async fn main() {
7 // there is a valid "workflow" in the system
8 let workflow_data_id = std::env::var("WORKFLOW_DATA_ID").unwrap();
9 let configuration = datadog::Configuration::new();
10 let api = WorkflowAutomationAPI::with_config(configuration);
11 let resp = api.delete_workflow(workflow_data_id.clone()).await;
12 if let Ok(value) = resp {
13 println!("{:#?}", value);
14 } else {
15 println!("{:#?}", resp.unwrap_err());
16 }
17}
Sourcepub async fn delete_workflow_with_http_info(
&self,
workflow_id: String,
) -> Result<ResponseContent<()>, Error<DeleteWorkflowError>>
pub async fn delete_workflow_with_http_info( &self, workflow_id: String, ) -> Result<ResponseContent<()>, Error<DeleteWorkflowError>>
Delete a workflow by ID. This API requires a registered application key.
Sourcepub async fn get_workflow(
&self,
workflow_id: String,
) -> Result<GetWorkflowResponse, Error<GetWorkflowError>>
pub async fn get_workflow( &self, workflow_id: String, ) -> Result<GetWorkflowResponse, Error<GetWorkflowError>>
Get a workflow by ID. This API requires a registered application key.
Examples found in repository?
6async fn main() {
7 // there is a valid "workflow" in the system
8 let workflow_data_id = std::env::var("WORKFLOW_DATA_ID").unwrap();
9 let configuration = datadog::Configuration::new();
10 let api = WorkflowAutomationAPI::with_config(configuration);
11 let resp = api.get_workflow(workflow_data_id.clone()).await;
12 if let Ok(value) = resp {
13 println!("{:#?}", value);
14 } else {
15 println!("{:#?}", resp.unwrap_err());
16 }
17}
Sourcepub async fn get_workflow_with_http_info(
&self,
workflow_id: String,
) -> Result<ResponseContent<GetWorkflowResponse>, Error<GetWorkflowError>>
pub async fn get_workflow_with_http_info( &self, workflow_id: String, ) -> Result<ResponseContent<GetWorkflowResponse>, Error<GetWorkflowError>>
Get a workflow by ID. This API requires a registered application key.
Sourcepub async fn get_workflow_instance(
&self,
workflow_id: String,
instance_id: String,
) -> Result<WorklflowGetInstanceResponse, Error<GetWorkflowInstanceError>>
pub async fn get_workflow_instance( &self, workflow_id: String, instance_id: String, ) -> Result<WorklflowGetInstanceResponse, Error<GetWorkflowInstanceError>>
Get a specific execution of a given workflow. This API requires a registered application key.
Examples found in repository?
6async fn main() {
7 let configuration = datadog::Configuration::new();
8 let api = WorkflowAutomationAPI::with_config(configuration);
9 let resp = api
10 .get_workflow_instance(
11 "ccf73164-1998-4785-a7a3-8d06c7e5f558".to_string(),
12 "305a472b-71ab-4ce8-8f8d-75db635627b5".to_string(),
13 )
14 .await;
15 if let Ok(value) = resp {
16 println!("{:#?}", value);
17 } else {
18 println!("{:#?}", resp.unwrap_err());
19 }
20}
Sourcepub async fn get_workflow_instance_with_http_info(
&self,
workflow_id: String,
instance_id: String,
) -> Result<ResponseContent<WorklflowGetInstanceResponse>, Error<GetWorkflowInstanceError>>
pub async fn get_workflow_instance_with_http_info( &self, workflow_id: String, instance_id: String, ) -> Result<ResponseContent<WorklflowGetInstanceResponse>, Error<GetWorkflowInstanceError>>
Get a specific execution of a given workflow. This API requires a registered application key.
Sourcepub async fn list_workflow_instances(
&self,
workflow_id: String,
params: ListWorkflowInstancesOptionalParams,
) -> Result<WorkflowListInstancesResponse, Error<ListWorkflowInstancesError>>
pub async fn list_workflow_instances( &self, workflow_id: String, params: ListWorkflowInstancesOptionalParams, ) -> Result<WorkflowListInstancesResponse, Error<ListWorkflowInstancesError>>
List all instances of a given workflow. This API requires a registered application key.
Examples found in repository?
7async fn main() {
8 let configuration = datadog::Configuration::new();
9 let api = WorkflowAutomationAPI::with_config(configuration);
10 let resp = api
11 .list_workflow_instances(
12 "ccf73164-1998-4785-a7a3-8d06c7e5f558".to_string(),
13 ListWorkflowInstancesOptionalParams::default(),
14 )
15 .await;
16 if let Ok(value) = resp {
17 println!("{:#?}", value);
18 } else {
19 println!("{:#?}", resp.unwrap_err());
20 }
21}
Sourcepub async fn list_workflow_instances_with_http_info(
&self,
workflow_id: String,
params: ListWorkflowInstancesOptionalParams,
) -> Result<ResponseContent<WorkflowListInstancesResponse>, Error<ListWorkflowInstancesError>>
pub async fn list_workflow_instances_with_http_info( &self, workflow_id: String, params: ListWorkflowInstancesOptionalParams, ) -> Result<ResponseContent<WorkflowListInstancesResponse>, Error<ListWorkflowInstancesError>>
List all instances of a given workflow. This API requires a registered application key.
Sourcepub async fn update_workflow(
&self,
workflow_id: String,
body: UpdateWorkflowRequest,
) -> Result<UpdateWorkflowResponse, Error<UpdateWorkflowError>>
pub async fn update_workflow( &self, workflow_id: String, body: UpdateWorkflowRequest, ) -> Result<UpdateWorkflowResponse, Error<UpdateWorkflowError>>
Update a workflow by ID. This API requires a registered application key.
Examples found in repository?
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}
Sourcepub async fn update_workflow_with_http_info(
&self,
workflow_id: String,
body: UpdateWorkflowRequest,
) -> Result<ResponseContent<UpdateWorkflowResponse>, Error<UpdateWorkflowError>>
pub async fn update_workflow_with_http_info( &self, workflow_id: String, body: UpdateWorkflowRequest, ) -> Result<ResponseContent<UpdateWorkflowResponse>, Error<UpdateWorkflowError>>
Update a workflow by ID. This API requires a registered application key.
Trait Implementations§
Source§impl Clone for WorkflowAutomationAPI
impl Clone for WorkflowAutomationAPI
Source§fn clone(&self) -> WorkflowAutomationAPI
fn clone(&self) -> WorkflowAutomationAPI
1.0.0 · Source§const fn clone_from(&mut self, source: &Self)
const fn clone_from(&mut self, source: &Self)
source
. Read more