#![doc = "generated by AutoRust"]
#![allow(non_camel_case_types)]
#![allow(unused_imports)]
use serde::{Deserialize, Serialize};
pub type ArrayOfStrings = Vec<String>;
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct Compatibility {}
impl Compatibility {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct Deployment {
#[serde(rename = "deploymentId")]
pub deployment_id: String,
#[serde(rename = "startDateTime")]
pub start_date_time: String,
#[serde(rename = "updateId")]
pub update_id: UpdateId,
#[serde(rename = "groupId")]
pub group_id: String,
#[serde(rename = "isCanceled", default, skip_serializing_if = "Option::is_none")]
pub is_canceled: Option<bool>,
#[serde(rename = "isRetried", default, skip_serializing_if = "Option::is_none")]
pub is_retried: Option<bool>,
}
impl Deployment {
pub fn new(deployment_id: String, start_date_time: String, update_id: UpdateId, group_id: String) -> Self {
Self {
deployment_id,
start_date_time,
update_id,
group_id,
is_canceled: None,
is_retried: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct DeploymentDeviceState {
#[serde(rename = "deviceId")]
pub device_id: String,
#[serde(rename = "moduleId", default, skip_serializing_if = "Option::is_none")]
pub module_id: Option<String>,
#[serde(rename = "retryCount")]
pub retry_count: i32,
#[serde(rename = "movedOnToNewDeployment")]
pub moved_on_to_new_deployment: bool,
#[serde(rename = "deviceState")]
pub device_state: DeviceDeploymentState,
}
impl DeploymentDeviceState {
pub fn new(device_id: String, retry_count: i32, moved_on_to_new_deployment: bool, device_state: DeviceDeploymentState) -> Self {
Self {
device_id,
module_id: None,
retry_count,
moved_on_to_new_deployment,
device_state,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct DeploymentDeviceStatesFilter {
#[serde(rename = "deviceId", default, skip_serializing_if = "Option::is_none")]
pub device_id: Option<String>,
#[serde(rename = "moduleId", default, skip_serializing_if = "Option::is_none")]
pub module_id: Option<String>,
#[serde(rename = "deviceState", default, skip_serializing_if = "Option::is_none")]
pub device_state: Option<DeviceState>,
}
impl DeploymentDeviceStatesFilter {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct DeploymentDeviceStatesList {
pub value: Vec<DeploymentDeviceState>,
#[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")]
pub next_link: Option<String>,
}
impl DeploymentDeviceStatesList {
pub fn new(value: Vec<DeploymentDeviceState>) -> Self {
Self { value, next_link: None }
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct DeploymentFilter {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub provider: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub version: Option<String>,
}
impl DeploymentFilter {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub enum DeploymentState {
Active,
Inactive,
Canceled,
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct DeploymentStatus {
#[serde(rename = "deploymentState")]
pub deployment_state: DeploymentState,
#[serde(rename = "totalDevices", default, skip_serializing_if = "Option::is_none")]
pub total_devices: Option<i32>,
#[serde(rename = "devicesInProgressCount", default, skip_serializing_if = "Option::is_none")]
pub devices_in_progress_count: Option<i32>,
#[serde(rename = "devicesCompletedFailedCount", default, skip_serializing_if = "Option::is_none")]
pub devices_completed_failed_count: Option<i32>,
#[serde(rename = "devicesCompletedSucceededCount", default, skip_serializing_if = "Option::is_none")]
pub devices_completed_succeeded_count: Option<i32>,
#[serde(rename = "devicesCanceledCount", default, skip_serializing_if = "Option::is_none")]
pub devices_canceled_count: Option<i32>,
}
impl DeploymentStatus {
pub fn new(deployment_state: DeploymentState) -> Self {
Self {
deployment_state,
total_devices: None,
devices_in_progress_count: None,
devices_completed_failed_count: None,
devices_completed_succeeded_count: None,
devices_canceled_count: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct DeploymentsList {
pub value: Vec<Deployment>,
#[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")]
pub next_link: Option<String>,
}
impl DeploymentsList {
pub fn new(value: Vec<Deployment>) -> Self {
Self { value, next_link: None }
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct Device {
#[serde(rename = "deviceId")]
pub device_id: String,
#[serde(rename = "moduleId", default, skip_serializing_if = "Option::is_none")]
pub module_id: Option<String>,
#[serde(rename = "deviceClassId")]
pub device_class_id: String,
pub manufacturer: String,
pub model: String,
#[serde(rename = "groupId", default, skip_serializing_if = "Option::is_none")]
pub group_id: Option<String>,
#[serde(rename = "lastAttemptedUpdateId", default, skip_serializing_if = "Option::is_none")]
pub last_attempted_update_id: Option<UpdateId>,
#[serde(rename = "deploymentStatus", default, skip_serializing_if = "Option::is_none")]
pub deployment_status: Option<DeviceDeploymentState>,
#[serde(rename = "installedUpdateId", default, skip_serializing_if = "Option::is_none")]
pub installed_update_id: Option<UpdateId>,
#[serde(rename = "onLatestUpdate")]
pub on_latest_update: bool,
#[serde(rename = "lastDeploymentId", default, skip_serializing_if = "Option::is_none")]
pub last_deployment_id: Option<String>,
#[serde(rename = "lastInstallResult", default, skip_serializing_if = "Option::is_none")]
pub last_install_result: Option<InstallResult>,
}
impl Device {
pub fn new(device_id: String, device_class_id: String, manufacturer: String, model: String, on_latest_update: bool) -> Self {
Self {
device_id,
module_id: None,
device_class_id,
manufacturer,
model,
group_id: None,
last_attempted_update_id: None,
deployment_status: None,
installed_update_id: None,
on_latest_update,
last_deployment_id: None,
last_install_result: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct DeviceClass {
#[serde(rename = "deviceClassId")]
pub device_class_id: String,
#[serde(rename = "compatProperties")]
pub compat_properties: serde_json::Value,
#[serde(rename = "bestCompatibleUpdateId")]
pub best_compatible_update_id: UpdateId,
}
impl DeviceClass {
pub fn new(device_class_id: String, compat_properties: serde_json::Value, best_compatible_update_id: UpdateId) -> Self {
Self {
device_class_id,
compat_properties,
best_compatible_update_id,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct DeviceClassesList {
pub value: Vec<DeviceClass>,
#[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")]
pub next_link: Option<String>,
}
impl DeviceClassesList {
pub fn new(value: Vec<DeviceClass>) -> Self {
Self { value, next_link: None }
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub enum DeviceDeploymentState {
Succeeded,
InProgress,
Failed,
Canceled,
Incompatible,
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct DeviceFilter {
#[serde(rename = "groupId", default, skip_serializing_if = "Option::is_none")]
pub group_id: Option<String>,
}
impl DeviceFilter {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct DeviceOperation {
#[serde(rename = "operationId")]
pub operation_id: String,
pub status: OperationStatus,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub error: Option<Error>,
#[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
pub trace_id: Option<String>,
#[serde(rename = "lastActionDateTime")]
pub last_action_date_time: String,
#[serde(rename = "createdDateTime")]
pub created_date_time: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub etag: Option<String>,
}
impl DeviceOperation {
pub fn new(operation_id: String, status: OperationStatus, last_action_date_time: String, created_date_time: String) -> Self {
Self {
operation_id,
status,
error: None,
trace_id: None,
last_action_date_time,
created_date_time,
etag: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct DeviceOperationsList {
pub value: Vec<DeviceOperation>,
#[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")]
pub next_link: Option<String>,
}
impl DeviceOperationsList {
pub fn new(value: Vec<DeviceOperation>) -> Self {
Self { value, next_link: None }
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub enum DeviceState {
NotStarted,
Incompatible,
AlreadyInDeployment,
Canceled,
InProgress,
Failed,
Succeeded,
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct DeviceTag {
#[serde(rename = "tagName")]
pub tag_name: String,
#[serde(rename = "deviceCount")]
pub device_count: i64,
}
impl DeviceTag {
pub fn new(tag_name: String, device_count: i64) -> Self {
Self { tag_name, device_count }
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct DeviceTagsList {
pub value: Vec<DeviceTag>,
#[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")]
pub next_link: Option<String>,
}
impl DeviceTagsList {
pub fn new(value: Vec<DeviceTag>) -> Self {
Self { value, next_link: None }
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct DeviceUpdateAgentId {
#[serde(rename = "deviceId")]
pub device_id: String,
#[serde(rename = "moduleId", default, skip_serializing_if = "Option::is_none")]
pub module_id: Option<String>,
}
impl DeviceUpdateAgentId {
pub fn new(device_id: String) -> Self {
Self {
device_id,
module_id: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct DevicesList {
pub value: Vec<Device>,
#[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")]
pub next_link: Option<String>,
}
impl DevicesList {
pub fn new(value: Vec<Device>) -> Self {
Self { value, next_link: None }
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct Error {
pub code: String,
pub message: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target: Option<String>,
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub details: Vec<Error>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub innererror: Option<InnerError>,
#[serde(rename = "occurredDateTime", default, skip_serializing_if = "Option::is_none")]
pub occurred_date_time: Option<String>,
}
impl Error {
pub fn new(code: String, message: String) -> Self {
Self {
code,
message,
target: None,
details: Vec::new(),
innererror: None,
occurred_date_time: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct ErrorResponse {
pub error: Error,
}
impl ErrorResponse {
pub fn new(error: Error) -> Self {
Self { error }
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct FileImportMetadata {
pub filename: String,
pub url: String,
}
impl FileImportMetadata {
pub fn new(filename: String, url: String) -> Self {
Self { filename, url }
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct Group {
#[serde(rename = "groupId")]
pub group_id: String,
#[serde(rename = "groupType")]
pub group_type: GroupType,
pub tags: Vec<String>,
#[serde(rename = "createdDateTime")]
pub created_date_time: String,
#[serde(rename = "deviceCount", default, skip_serializing_if = "Option::is_none")]
pub device_count: Option<i64>,
#[serde(rename = "deploymentId", default, skip_serializing_if = "Option::is_none")]
pub deployment_id: Option<String>,
#[serde(rename = "deviceClassId", default, skip_serializing_if = "Option::is_none")]
pub device_class_id: Option<String>,
}
impl Group {
pub fn new(group_id: String, group_type: GroupType, tags: Vec<String>, created_date_time: String) -> Self {
Self {
group_id,
group_type,
tags,
created_date_time,
device_count: None,
deployment_id: None,
device_class_id: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct GroupBestUpdatesFilter {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub provider: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub version: Option<String>,
}
impl GroupBestUpdatesFilter {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub enum GroupType {
DeviceClassIdAndIoTHubTag,
InvalidDeviceClassIdAndIoTHubTag,
DefaultDeviceClassId,
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct GroupsList {
pub value: Vec<Group>,
#[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")]
pub next_link: Option<String>,
}
impl GroupsList {
pub fn new(value: Vec<Group>) -> Self {
Self { value, next_link: None }
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct ImportManifestMetadata {
pub url: String,
#[serde(rename = "sizeInBytes")]
pub size_in_bytes: i64,
pub hashes: serde_json::Value,
}
impl ImportManifestMetadata {
pub fn new(url: String, size_in_bytes: i64, hashes: serde_json::Value) -> Self {
Self {
url,
size_in_bytes,
hashes,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub enum ImportType {
Devices,
Modules,
All,
}
pub type ImportUpdateInput = Vec<ImportUpdateInputItem>;
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct ImportUpdateInputItem {
#[serde(rename = "importManifest")]
pub import_manifest: ImportManifestMetadata,
#[serde(rename = "friendlyName", default, skip_serializing_if = "Option::is_none")]
pub friendly_name: Option<String>,
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub files: Vec<FileImportMetadata>,
}
impl ImportUpdateInputItem {
pub fn new(import_manifest: ImportManifestMetadata) -> Self {
Self {
import_manifest,
friendly_name: None,
files: Vec::new(),
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct InnerError {
pub code: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub message: Option<String>,
#[serde(rename = "errorDetail", default, skip_serializing_if = "Option::is_none")]
pub error_detail: Option<String>,
#[serde(rename = "innerError", default, skip_serializing_if = "Option::is_none")]
pub inner_error: Box<Option<InnerError>>,
}
impl InnerError {
pub fn new(code: String) -> Self {
Self {
code,
message: None,
error_detail: None,
inner_error: Box::new(None),
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct InstallResult {
#[serde(rename = "resultCode")]
pub result_code: i64,
#[serde(rename = "extendedResultCode")]
pub extended_result_code: i64,
#[serde(rename = "resultDetails", default, skip_serializing_if = "Option::is_none")]
pub result_details: Option<String>,
#[serde(rename = "stepResults", default, skip_serializing_if = "Vec::is_empty")]
pub step_results: Vec<StepResult>,
}
impl InstallResult {
pub fn new(result_code: i64, extended_result_code: i64) -> Self {
Self {
result_code,
extended_result_code,
result_details: None,
step_results: Vec::new(),
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct Instructions {
pub steps: Vec<Step>,
}
impl Instructions {
pub fn new(steps: Vec<Step>) -> Self {
Self { steps }
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct LogCollectionOperation {
#[serde(rename = "operationId", default, skip_serializing_if = "Option::is_none")]
pub operation_id: Option<String>,
#[serde(rename = "deviceList")]
pub device_list: Vec<DeviceUpdateAgentId>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(rename = "createdDateTime", default, skip_serializing_if = "Option::is_none")]
pub created_date_time: Option<String>,
#[serde(rename = "lastActionDateTime", default, skip_serializing_if = "Option::is_none")]
pub last_action_date_time: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub status: Option<OperationStatusWithoutUndefinedOption>,
}
impl LogCollectionOperation {
pub fn new(device_list: Vec<DeviceUpdateAgentId>) -> Self {
Self {
operation_id: None,
device_list,
description: None,
created_date_time: None,
last_action_date_time: None,
status: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct LogCollectionOperationDetailedStatus {
#[serde(rename = "operationId", default, skip_serializing_if = "Option::is_none")]
pub operation_id: Option<String>,
#[serde(rename = "createdDateTime", default, skip_serializing_if = "Option::is_none")]
pub created_date_time: Option<String>,
#[serde(rename = "lastActionDateTime", default, skip_serializing_if = "Option::is_none")]
pub last_action_date_time: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub status: Option<OperationStatusWithoutUndefinedOption>,
#[serde(rename = "deviceStatus", default, skip_serializing_if = "Vec::is_empty")]
pub device_status: Vec<LogCollectionOperationDeviceStatus>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
}
impl LogCollectionOperationDetailedStatus {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct LogCollectionOperationDetailedStatusList {
pub value: Vec<LogCollectionOperationDetailedStatus>,
#[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")]
pub next_link: Option<String>,
}
impl LogCollectionOperationDetailedStatusList {
pub fn new(value: Vec<LogCollectionOperationDetailedStatus>) -> Self {
Self { value, next_link: None }
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct LogCollectionOperationDeviceStatus {
#[serde(rename = "deviceId")]
pub device_id: String,
#[serde(rename = "moduleId", default, skip_serializing_if = "Option::is_none")]
pub module_id: Option<String>,
pub status: OperationStatusWithoutUndefinedOption,
#[serde(rename = "resultCode", default, skip_serializing_if = "Option::is_none")]
pub result_code: Option<String>,
#[serde(rename = "extendedResultCode", default, skip_serializing_if = "Option::is_none")]
pub extended_result_code: Option<String>,
#[serde(rename = "logLocation", default, skip_serializing_if = "Option::is_none")]
pub log_location: Option<String>,
}
impl LogCollectionOperationDeviceStatus {
pub fn new(device_id: String, status: OperationStatusWithoutUndefinedOption) -> Self {
Self {
device_id,
module_id: None,
status,
result_code: None,
extended_result_code: None,
log_location: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct LogCollectionOperationList {
pub value: Vec<LogCollectionOperation>,
#[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")]
pub next_link: Option<String>,
}
impl LogCollectionOperationList {
pub fn new(value: Vec<LogCollectionOperation>) -> Self {
Self { value, next_link: None }
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct OperationFilter {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub status: Option<OperationFilterStatus>,
}
impl OperationFilter {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub enum OperationFilterStatus {
Running,
NotStarted,
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub enum OperationStatus {
Undefined,
NotStarted,
Running,
Succeeded,
Failed,
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub enum OperationStatusWithoutUndefinedOption {
NotStarted,
Running,
Succeeded,
Failed,
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct Step {
#[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
pub type_: Option<step::Type>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub handler: Option<String>,
#[serde(rename = "handlerProperties", default, skip_serializing_if = "Option::is_none")]
pub handler_properties: Option<serde_json::Value>,
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub files: Vec<String>,
#[serde(rename = "updateId", default, skip_serializing_if = "Option::is_none")]
pub update_id: Option<UpdateId>,
}
impl Step {
pub fn new() -> Self {
Self::default()
}
}
pub mod step {
use super::*;
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub enum Type {
#[serde(rename = "inline")]
Inline,
#[serde(rename = "reference")]
Reference,
}
impl Default for Type {
fn default() -> Self {
Self::Inline
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct StepResult {
#[serde(rename = "updateId", default, skip_serializing_if = "Option::is_none")]
pub update_id: Option<UpdateId>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(rename = "resultCode")]
pub result_code: i64,
#[serde(rename = "extendedResultCode")]
pub extended_result_code: i64,
#[serde(rename = "resultDetails", default, skip_serializing_if = "Option::is_none")]
pub result_details: Option<String>,
}
impl StepResult {
pub fn new(result_code: i64, extended_result_code: i64) -> Self {
Self {
update_id: None,
description: None,
result_code,
extended_result_code,
result_details: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct StringsList {
pub value: Vec<String>,
#[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")]
pub next_link: Option<String>,
}
impl StringsList {
pub fn new(value: Vec<String>) -> Self {
Self { value, next_link: None }
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct UpdatableDevices {
#[serde(rename = "updateId")]
pub update_id: UpdateId,
#[serde(rename = "deviceCount")]
pub device_count: i64,
}
impl UpdatableDevices {
pub fn new(update_id: UpdateId, device_count: i64) -> Self {
Self { update_id, device_count }
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct UpdatableDevicesList {
pub value: Vec<UpdatableDevices>,
#[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")]
pub next_link: Option<String>,
}
impl UpdatableDevicesList {
pub fn new(value: Vec<UpdatableDevices>) -> Self {
Self { value, next_link: None }
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct Update {
#[serde(rename = "updateId")]
pub update_id: UpdateId,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(rename = "friendlyName", default, skip_serializing_if = "Option::is_none")]
pub friendly_name: Option<String>,
#[serde(rename = "isDeployable", default, skip_serializing_if = "Option::is_none")]
pub is_deployable: Option<bool>,
#[serde(rename = "updateType", default, skip_serializing_if = "Option::is_none")]
pub update_type: Option<String>,
#[serde(rename = "installedCriteria", default, skip_serializing_if = "Option::is_none")]
pub installed_criteria: Option<String>,
pub compatibility: Vec<Compatibility>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub instructions: Option<Instructions>,
#[serde(rename = "referencedBy", default, skip_serializing_if = "Vec::is_empty")]
pub referenced_by: Vec<UpdateId>,
#[serde(rename = "scanResult", default, skip_serializing_if = "Option::is_none")]
pub scan_result: Option<String>,
#[serde(rename = "manifestVersion")]
pub manifest_version: String,
#[serde(rename = "importedDateTime")]
pub imported_date_time: String,
#[serde(rename = "createdDateTime")]
pub created_date_time: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub etag: Option<String>,
}
impl Update {
pub fn new(
update_id: UpdateId,
compatibility: Vec<Compatibility>,
manifest_version: String,
imported_date_time: String,
created_date_time: String,
) -> Self {
Self {
update_id,
description: None,
friendly_name: None,
is_deployable: None,
update_type: None,
installed_criteria: None,
compatibility,
instructions: None,
referenced_by: Vec::new(),
scan_result: None,
manifest_version,
imported_date_time,
created_date_time,
etag: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct UpdateCompliance {
#[serde(rename = "totalDeviceCount")]
pub total_device_count: i64,
#[serde(rename = "onLatestUpdateDeviceCount")]
pub on_latest_update_device_count: i64,
#[serde(rename = "newUpdatesAvailableDeviceCount")]
pub new_updates_available_device_count: i64,
#[serde(rename = "updatesInProgressDeviceCount")]
pub updates_in_progress_device_count: i64,
}
impl UpdateCompliance {
pub fn new(
total_device_count: i64,
on_latest_update_device_count: i64,
new_updates_available_device_count: i64,
updates_in_progress_device_count: i64,
) -> Self {
Self {
total_device_count,
on_latest_update_device_count,
new_updates_available_device_count,
updates_in_progress_device_count,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct UpdateFile {
#[serde(rename = "fileId")]
pub file_id: String,
#[serde(rename = "fileName")]
pub file_name: String,
#[serde(rename = "sizeInBytes")]
pub size_in_bytes: i64,
pub hashes: serde_json::Value,
#[serde(rename = "mimeType", default, skip_serializing_if = "Option::is_none")]
pub mime_type: Option<String>,
#[serde(rename = "scanResult", default, skip_serializing_if = "Option::is_none")]
pub scan_result: Option<String>,
#[serde(rename = "scanDetails", default, skip_serializing_if = "Option::is_none")]
pub scan_details: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub etag: Option<String>,
}
impl UpdateFile {
pub fn new(file_id: String, file_name: String, size_in_bytes: i64, hashes: serde_json::Value) -> Self {
Self {
file_id,
file_name,
size_in_bytes,
hashes,
mime_type: None,
scan_result: None,
scan_details: None,
etag: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct UpdateFilter {
#[serde(rename = "isDeployable", default, skip_serializing_if = "Option::is_none")]
pub is_deployable: Option<bool>,
}
impl UpdateFilter {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct UpdateId {
pub provider: String,
pub name: String,
pub version: String,
}
impl UpdateId {
pub fn new(provider: String, name: String, version: String) -> Self {
Self { provider, name, version }
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct UpdateIdsList {
pub value: Vec<UpdateId>,
#[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")]
pub next_link: Option<String>,
}
impl UpdateIdsList {
pub fn new(value: Vec<UpdateId>) -> Self {
Self { value, next_link: None }
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct UpdateList {
pub value: Vec<Update>,
#[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")]
pub next_link: Option<String>,
}
impl UpdateList {
pub fn new(value: Vec<Update>) -> Self {
Self { value, next_link: None }
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct UpdateOperation {
#[serde(rename = "operationId")]
pub operation_id: String,
pub status: OperationStatus,
#[serde(rename = "updateId", default, skip_serializing_if = "Option::is_none")]
pub update_id: Option<UpdateId>,
#[serde(rename = "resourceLocation", default, skip_serializing_if = "Option::is_none")]
pub resource_location: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub error: Option<Error>,
#[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
pub trace_id: Option<String>,
#[serde(rename = "lastActionDateTime")]
pub last_action_date_time: String,
#[serde(rename = "createdDateTime")]
pub created_date_time: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub etag: Option<String>,
}
impl UpdateOperation {
pub fn new(operation_id: String, status: OperationStatus, last_action_date_time: String, created_date_time: String) -> Self {
Self {
operation_id,
status,
update_id: None,
resource_location: None,
error: None,
trace_id: None,
last_action_date_time,
created_date_time,
etag: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct UpdateOperationsList {
pub value: Vec<UpdateOperation>,
#[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")]
pub next_link: Option<String>,
}
impl UpdateOperationsList {
pub fn new(value: Vec<UpdateOperation>) -> Self {
Self { value, next_link: None }
}
}