/*
* 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 ResourcesCloudResource {
#[serde(rename = "account_id", skip_serializing_if = "Option::is_none")]
pub account_id: Option<String>,
#[serde(rename = "account_name", skip_serializing_if = "Option::is_none")]
pub account_name: Option<String>,
#[serde(rename = "active", skip_serializing_if = "Option::is_none")]
pub active: Option<bool>,
#[serde(rename = "arn", skip_serializing_if = "Option::is_none")]
pub arn: Option<String>,
#[serde(rename = "category", skip_serializing_if = "Option::is_none")]
pub category: Option<String>,
#[serde(rename = "cid", skip_serializing_if = "Option::is_none")]
pub cid: Option<String>,
#[serde(rename = "cloud_context", skip_serializing_if = "Option::is_none")]
pub cloud_context: Option<Box<models::ResourcesCloudContext>>,
#[serde(rename = "cloud_groups", skip_serializing_if = "Option::is_none")]
pub cloud_groups: Option<Vec<models::DomainCloudScope>>,
#[serde(rename = "cloud_groups_v2", skip_serializing_if = "Option::is_none")]
pub cloud_groups_v2: Option<Vec<models::DomainCloudGroup>>,
#[serde(rename = "cloud_labels", skip_serializing_if = "Option::is_none")]
pub cloud_labels: Option<Vec<models::ClassificationLabel>>,
#[serde(rename = "cloud_provider", skip_serializing_if = "Option::is_none")]
pub cloud_provider: Option<String>,
#[serde(rename = "cluster_id", skip_serializing_if = "Option::is_none")]
pub cluster_id: Option<String>,
#[serde(rename = "cluster_name", skip_serializing_if = "Option::is_none")]
pub cluster_name: Option<String>,
#[serde(rename = "compartment_name", skip_serializing_if = "Option::is_none")]
pub compartment_name: Option<String>,
#[serde(rename = "compartment_ocid", skip_serializing_if = "Option::is_none")]
pub compartment_ocid: Option<String>,
#[serde(rename = "compartment_path", skip_serializing_if = "Option::is_none")]
pub compartment_path: Option<String>,
#[serde(rename = "configuration", skip_serializing_if = "Option::is_none")]
pub configuration: Option<serde_json::Value>,
#[serde(rename = "creation_time", skip_serializing_if = "Option::is_none")]
pub creation_time: Option<String>,
#[serde(rename = "first_seen", skip_serializing_if = "Option::is_none")]
pub first_seen: Option<String>,
#[serde(rename = "gcrn", skip_serializing_if = "Option::is_none")]
pub gcrn: Option<String>,
#[serde(rename = "groups", skip_serializing_if = "Option::is_none")]
pub groups: Option<Vec<String>>,
#[serde(rename = "hash", skip_serializing_if = "Option::is_none")]
pub hash: Option<String>,
#[serde(rename = "id", skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(rename = "location", skip_serializing_if = "Option::is_none")]
pub location: Option<String>,
#[serde(rename = "organization_id", skip_serializing_if = "Option::is_none")]
pub organization_id: Option<String>,
#[serde(rename = "parent", skip_serializing_if = "Option::is_none")]
pub parent: Option<String>,
#[serde(rename = "project_id", skip_serializing_if = "Option::is_none")]
pub project_id: Option<String>,
#[serde(rename = "project_number", skip_serializing_if = "Option::is_none")]
pub project_number: Option<String>,
#[serde(rename = "region", skip_serializing_if = "Option::is_none")]
pub region: Option<String>,
#[serde(rename = "relationships", skip_serializing_if = "Option::is_none")]
pub relationships: Option<Vec<models::ResourcesRelationship>>,
#[serde(rename = "resource_group", skip_serializing_if = "Option::is_none")]
pub resource_group: Option<String>,
#[serde(rename = "resource_id", skip_serializing_if = "Option::is_none")]
pub resource_id: Option<String>,
#[serde(rename = "resource_name", skip_serializing_if = "Option::is_none")]
pub resource_name: Option<String>,
#[serde(rename = "resource_number", skip_serializing_if = "Option::is_none")]
pub resource_number: Option<String>,
#[serde(rename = "resource_type", skip_serializing_if = "Option::is_none")]
pub resource_type: Option<String>,
#[serde(rename = "resource_type_name", skip_serializing_if = "Option::is_none")]
pub resource_type_name: Option<String>,
#[serde(rename = "resource_url", skip_serializing_if = "Option::is_none")]
pub resource_url: Option<String>,
#[serde(rename = "revision", skip_serializing_if = "Option::is_none")]
pub revision: Option<i32>,
#[serde(rename = "service", skip_serializing_if = "Option::is_none")]
pub service: Option<String>,
#[serde(rename = "service_category", skip_serializing_if = "Option::is_none")]
pub service_category: Option<String>,
#[serde(rename = "status", skip_serializing_if = "Option::is_none")]
pub status: Option<String>,
#[serde(rename = "subscription_id", skip_serializing_if = "Option::is_none")]
pub subscription_id: Option<String>,
#[serde(
rename = "supplementary_configuration",
skip_serializing_if = "Option::is_none"
)]
pub supplementary_configuration: Option<serde_json::Value>,
#[serde(rename = "tags", skip_serializing_if = "Option::is_none")]
pub tags: Option<std::collections::HashMap<String, String>>,
#[serde(rename = "tenancy_name", skip_serializing_if = "Option::is_none")]
pub tenancy_name: Option<String>,
#[serde(rename = "tenancy_ocid", skip_serializing_if = "Option::is_none")]
pub tenancy_ocid: Option<String>,
#[serde(rename = "tenancy_type", skip_serializing_if = "Option::is_none")]
pub tenancy_type: Option<String>,
#[serde(rename = "tenant_id", skip_serializing_if = "Option::is_none")]
pub tenant_id: Option<String>,
#[serde(rename = "updated_at", skip_serializing_if = "Option::is_none")]
pub updated_at: Option<String>,
#[serde(rename = "zone", skip_serializing_if = "Option::is_none")]
pub zone: Option<String>,
#[serde(rename = "zones", skip_serializing_if = "Option::is_none")]
pub zones: Option<Vec<serde_json::Value>>,
}
impl ResourcesCloudResource {
pub fn new() -> ResourcesCloudResource {
ResourcesCloudResource {
account_id: None,
account_name: None,
active: None,
arn: None,
category: None,
cid: None,
cloud_context: None,
cloud_groups: None,
cloud_groups_v2: None,
cloud_labels: None,
cloud_provider: None,
cluster_id: None,
cluster_name: None,
compartment_name: None,
compartment_ocid: None,
compartment_path: None,
configuration: None,
creation_time: None,
first_seen: None,
gcrn: None,
groups: None,
hash: None,
id: None,
location: None,
organization_id: None,
parent: None,
project_id: None,
project_number: None,
region: None,
relationships: None,
resource_group: None,
resource_id: None,
resource_name: None,
resource_number: None,
resource_type: None,
resource_type_name: None,
resource_url: None,
revision: None,
service: None,
service_category: None,
status: None,
subscription_id: None,
supplementary_configuration: None,
tags: None,
tenancy_name: None,
tenancy_ocid: None,
tenancy_type: None,
tenant_id: None,
updated_at: None,
zone: None,
zones: None,
}
}
}