/*
* 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 DomainApiVulnerabilityHostFacetV2 {
/// Refers to how critical an asset has been evaluated to be
#[serde(rename = "asset_criticality", skip_serializing_if = "Option::is_none")]
pub asset_criticality: Option<String>,
/// Refers to one or more roles that have been assigned to the assets
#[serde(rename = "asset_roles", skip_serializing_if = "Option::is_none")]
pub asset_roles: Option<Vec<String>>,
/// Confidence level of the asset association to the CID
#[serde(rename = "confidence_label", skip_serializing_if = "Option::is_none")]
pub confidence_label: Option<String>,
/// Refers to a logic grouping of assets
#[serde(rename = "groups", skip_serializing_if = "Option::is_none")]
pub groups: Option<Vec<models::DomainApiHostGroup>>,
/// Indicates whether the asset has run containers
#[serde(rename = "has_run_container", skip_serializing_if = "Option::is_none")]
pub has_run_container: Option<bool>,
/// A timestamp corresponding to the last day when we detected activity coming from an asset
#[serde(
rename = "host_last_seen_timestamp",
skip_serializing_if = "Option::is_none"
)]
pub host_last_seen_timestamp: Option<String>,
/// Refers to the hostname used by the asset on which the vulnerability was detected
#[serde(rename = "hostname")]
pub hostname: String,
/// Refers to a unique identifier assigned to an asset
#[serde(rename = "instance_id", skip_serializing_if = "Option::is_none")]
pub instance_id: Option<String>,
/// Refers to the state of an asset
#[serde(rename = "instance_state", skip_serializing_if = "Option::is_none")]
pub instance_state: Option<String>,
/// Refers to the level of exposure an asset has to the internet
#[serde(rename = "internet_exposure", skip_serializing_if = "Option::is_none")]
pub internet_exposure: Option<String>,
/// Refers to the local IP used by the asset on which the vulnerability was detected
#[serde(rename = "local_ip")]
pub local_ip: String,
/// The machine domain of an asset is the network identity within a network infrastructure
#[serde(rename = "machine_domain")]
pub machine_domain: String,
/// Name of the entity that is managing the asset
#[serde(rename = "managed_by", skip_serializing_if = "Option::is_none")]
pub managed_by: Option<String>,
/// Refers to the specific build or version number of an operating system, indicating a particular release or revision of the operating system
#[serde(rename = "os_build", skip_serializing_if = "Option::is_none")]
pub os_build: Option<String>,
/// Refers to the operating system version used by the asset on which the vulnerability was detected
#[serde(rename = "os_version")]
pub os_version: String,
/// Refers to the specific organizational grouping or container within an Active Directory (AD) or directory service where the host is located or categorized.
#[serde(rename = "ou")]
pub ou: String,
/// Refers to the name or designation of the specific software platform or operating system on which the asset is running
#[serde(rename = "platform", skip_serializing_if = "Option::is_none")]
pub platform: Option<String>,
/// Refers to the descriptive label or category that identifies the type or edition of the operating system product installed on the asset
#[serde(rename = "product_type_desc", skip_serializing_if = "Option::is_none")]
pub product_type_desc: Option<String>,
/// Refers to a company, organization, or entity that offers or provided this specific asset
#[serde(rename = "service_provider", skip_serializing_if = "Option::is_none")]
pub service_provider: Option<String>,
/// Refers to the unique identifier associated with a service provider account, typically used in cloud computing or managed service environments
#[serde(
rename = "service_provider_account_id",
skip_serializing_if = "Option::is_none"
)]
pub service_provider_account_id: Option<String>,
/// Refers to the name or label assigned to the physical or logical location within a network infrastructure where the host is situated
#[serde(rename = "site_name")]
pub site_name: String,
/// The list of subsidiaries associated with the asset
#[serde(rename = "subsidiaries", skip_serializing_if = "Option::is_none")]
pub subsidiaries: Option<Vec<String>>,
/// Refers to the company or organization that designed and produced the hardware system or device
#[serde(rename = "system_manufacturer")]
pub system_manufacturer: String,
/// Refers to a logical grouping of assets via tags
#[serde(rename = "tags", skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
/// zero or more unique identifiers assigned by third party entities which provided data for the asset
#[serde(
rename = "third_party_asset_ids",
skip_serializing_if = "Option::is_none"
)]
pub third_party_asset_ids: Option<Vec<String>>,
}
impl DomainApiVulnerabilityHostFacetV2 {
pub fn new(
hostname: String,
local_ip: String,
machine_domain: String,
os_version: String,
ou: String,
site_name: String,
system_manufacturer: String,
) -> DomainApiVulnerabilityHostFacetV2 {
DomainApiVulnerabilityHostFacetV2 {
asset_criticality: None,
asset_roles: None,
confidence_label: None,
groups: None,
has_run_container: None,
host_last_seen_timestamp: None,
hostname,
instance_id: None,
instance_state: None,
internet_exposure: None,
local_ip,
machine_domain,
managed_by: None,
os_build: None,
os_version,
ou,
platform: None,
product_type_desc: None,
service_provider: None,
service_provider_account_id: None,
site_name,
subsidiaries: None,
system_manufacturer,
tags: None,
third_party_asset_ids: None,
}
}
}