/*
* CrowdStrike API Specification
*
* Use this API specification as a reference for the API endpoints you can use to interact with your Falcon environment. These endpoints support authentication via OAuth2 and interact with detections and network containment. For detailed usage guides and examples, see our [documentation inside the Falcon console](https://falcon.crowdstrike.com/support/documentation). To use the APIs described below, combine the base URL with the path shown for each API endpoint. For commercial cloud customers, your base URL is `https://api.crowdstrike.com`. Each API endpoint requires authorization via an OAuth2 token. Your first API request should retrieve an OAuth2 token using the `oauth2/token` endpoint, such as `https://api.crowdstrike.com/oauth2/token`. For subsequent requests, include the OAuth2 token in an HTTP authorization header. Tokens expire after 30 minutes, after which you should make a new token request to continue making API requests.
*
* The version of the OpenAPI document: rolling
*
* Generated by: https://openapi-generator.tech
*/
use crate::models;
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct GraphConfiguredActivity {
/// The class of activity. If undefined it is an ActivityClassDefault
#[serde(rename = "class", skip_serializing_if = "Option::is_none")]
pub class: Option<String>,
#[serde(rename = "flows")]
pub flows: Box<models::Flows>,
/// The unique identifier of the selected activity that is being configured.
#[serde(rename = "id")]
pub id: String,
#[serde(
rename = "inline_configuration",
skip_serializing_if = "Option::is_none"
)]
pub inline_configuration: Option<Box<models::GraphInlineActivityConfig>>,
/// Maximum seconds to wait for an async process to finish. Overrides default async_max_seconds on Activity seed.
#[serde(rename = "max_seconds", skip_serializing_if = "Option::is_none")]
pub max_seconds: Option<String>,
/// Optional user provided name for the activity, if not specified a default of the name for that Activity will be used.
#[serde(rename = "name")]
pub name: String,
#[serde(rename = "nodeID")]
pub node_id: String,
/// Dynamic payload providing values needed to configure the activity for execution. The structure of this data is dictated by the JSON Schema defined for the selected Activity.
#[serde(rename = "properties")]
pub properties: serde_json::Value,
/// Semantic version constraint of the activity, can be an explicit version or a version constraint. If unspecified the latest activity <= 1.0.0 is used.
#[serde(rename = "version_constraint", skip_serializing_if = "Option::is_none")]
pub version_constraint: Option<String>,
}
impl GraphConfiguredActivity {
pub fn new(
flows: models::Flows,
id: String,
name: String,
node_id: String,
properties: serde_json::Value,
) -> GraphConfiguredActivity {
GraphConfiguredActivity {
class: None,
flows: Box::new(flows),
id,
inline_configuration: None,
max_seconds: None,
name,
node_id,
properties,
version_constraint: None,
}
}
}