azure_mgmt_edgeorderpartner 0.9.0

generated REST API bindings
Documentation
#![allow(non_camel_case_types)]
#![allow(unused_imports)]
use serde::de::{value, Deserializer, IntoDeserializer};
use serde::{Deserialize, Serialize, Serializer};
use std::str::FromStr;
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AdditionalErrorInfo {
    #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
    pub type_: Option<String>,
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub info: Option<serde_json::Value>,
}
impl AdditionalErrorInfo {
    pub fn new() -> Self {
        Self::default()
    }
}
#[doc = "Contains additional data about inventory in dictionary format"]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AdditionalInventoryDetails {
    #[doc = "Additional Data"]
    #[serde(rename = "additionalData", default, skip_serializing_if = "Option::is_none")]
    pub additional_data: Option<serde_json::Value>,
}
impl AdditionalInventoryDetails {
    pub fn new() -> Self {
        Self::default()
    }
}
#[doc = "Contains additional order item details"]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AdditionalOrderItemDetails {
    #[doc = "Resource stage details."]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub status: Option<StageDetails>,
    #[doc = "Contains subscription details"]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub subscription: Option<SubscriptionDetails>,
}
impl AdditionalOrderItemDetails {
    pub fn new() -> Self {
        Self::default()
    }
}
#[doc = "Contains billing details for the inventory"]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct BillingDetails {
    #[doc = "Billing type for the inventory"]
    #[serde(rename = "billingType", default, skip_serializing_if = "Option::is_none")]
    pub billing_type: Option<String>,
    #[doc = "Billing status for the inventory"]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub status: Option<String>,
}
impl BillingDetails {
    pub fn new() -> Self {
        Self::default()
    }
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct CloudError {
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub code: Option<String>,
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub message: Option<String>,
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub target: Option<String>,
    #[serde(
        default,
        deserialize_with = "azure_core::util::deserialize_null_as_default",
        skip_serializing_if = "Vec::is_empty"
    )]
    pub details: Vec<CloudError>,
    #[serde(
        rename = "additionalInfo",
        default,
        deserialize_with = "azure_core::util::deserialize_null_as_default",
        skip_serializing_if = "Vec::is_empty"
    )]
    pub additional_info: Vec<AdditionalErrorInfo>,
}
impl CloudError {
    pub fn new() -> Self {
        Self::default()
    }
}
#[doc = "Contains information about inventory configuration"]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct ConfigurationData {
    #[doc = "Family identifier of inventory"]
    #[serde(rename = "familyIdentifier", default, skip_serializing_if = "Option::is_none")]
    pub family_identifier: Option<String>,
    #[doc = "Product Line identifier of inventory"]
    #[serde(rename = "productLineIdentifier", default, skip_serializing_if = "Option::is_none")]
    pub product_line_identifier: Option<String>,
    #[doc = "Product identifier of inventory"]
    #[serde(rename = "productIdentifier", default, skip_serializing_if = "Option::is_none")]
    pub product_identifier: Option<String>,
    #[doc = "Configuration identifier of inventory"]
    #[serde(rename = "configurationIdentifier", default, skip_serializing_if = "Option::is_none")]
    pub configuration_identifier: Option<String>,
    #[doc = "Configuration identifier on device - this is used in case of any mismatch\r\nbetween actual configuration on inventory and configuration stored in service"]
    #[serde(rename = "configurationIdentifierOnDevice", default, skip_serializing_if = "Option::is_none")]
    pub configuration_identifier_on_device: Option<String>,
}
impl ConfigurationData {
    pub fn new() -> Self {
        Self::default()
    }
}
#[doc = "Contains additional configuration details about inventory"]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct ConfigurationDetails {
    #[doc = "Collection of specification details about the inventory"]
    #[serde(
        default,
        deserialize_with = "azure_core::util::deserialize_null_as_default",
        skip_serializing_if = "Vec::is_empty"
    )]
    pub specifications: Vec<SpecificationDetails>,
}
impl ConfigurationDetails {
    pub fn new() -> Self {
        Self::default()
    }
}
#[doc = "Configuration parameters for ManageInventoryMetadata call"]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct ConfigurationOnDevice {
    #[doc = "Configuration identifier on device"]
    #[serde(rename = "configurationIdentifier")]
    pub configuration_identifier: String,
}
impl ConfigurationOnDevice {
    pub fn new(configuration_identifier: String) -> Self {
        Self { configuration_identifier }
    }
}
#[doc = "The resource management error additional info."]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct ErrorAdditionalInfo {
    #[doc = "The additional info type."]
    #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
    pub type_: Option<String>,
    #[doc = "The additional info."]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub info: Option<serde_json::Value>,
}
impl ErrorAdditionalInfo {
    pub fn new() -> Self {
        Self::default()
    }
}
#[doc = "The error detail."]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct ErrorDetail {
    #[doc = "The error code."]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub code: Option<String>,
    #[doc = "The error message."]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub message: Option<String>,
    #[doc = "The error target."]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub target: Option<String>,
    #[doc = "The error details."]
    #[serde(
        default,
        deserialize_with = "azure_core::util::deserialize_null_as_default",
        skip_serializing_if = "Vec::is_empty"
    )]
    pub details: Vec<ErrorDetail>,
    #[doc = "The error additional info."]
    #[serde(
        rename = "additionalInfo",
        default,
        deserialize_with = "azure_core::util::deserialize_null_as_default",
        skip_serializing_if = "Vec::is_empty"
    )]
    pub additional_info: Vec<ErrorAdditionalInfo>,
}
impl ErrorDetail {
    pub fn new() -> Self {
        Self::default()
    }
}
#[doc = "Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.)."]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct ErrorResponse {
    #[doc = "The error detail."]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub error: Option<ErrorDetail>,
}
impl azure_core::Continuable for ErrorResponse {
    type Continuation = String;
    fn continuation(&self) -> Option<Self::Continuation> {
        None
    }
}
impl ErrorResponse {
    pub fn new() -> Self {
        Self::default()
    }
}
#[doc = "Represents additional details about the partner inventory"]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct InventoryAdditionalDetails {
    #[doc = "Contains additional order item details"]
    #[serde(rename = "orderItem", default, skip_serializing_if = "Option::is_none")]
    pub order_item: Option<AdditionalOrderItemDetails>,
    #[doc = "Contains inventory metadata"]
    #[serde(rename = "inventoryMetadata", default, skip_serializing_if = "Option::is_none")]
    pub inventory_metadata: Option<String>,
    #[doc = "Contains additional configuration details about inventory"]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub configuration: Option<ConfigurationDetails>,
    #[doc = "Contains additional data about inventory in dictionary format"]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub inventory: Option<AdditionalInventoryDetails>,
    #[doc = "Contains billing details for the inventory"]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub billing: Option<BillingDetails>,
    #[doc = "Represents secrets on the inventory"]
    #[serde(rename = "inventorySecrets", default, skip_serializing_if = "Option::is_none")]
    pub inventory_secrets: Option<serde_json::Value>,
}
impl InventoryAdditionalDetails {
    pub fn new() -> Self {
        Self::default()
    }
}
#[doc = "Contains basic information about inventory"]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct InventoryData {
    #[doc = "Inventory status"]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub status: Option<String>,
    #[doc = "Inventory location"]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub location: Option<String>,
    #[doc = "Boolean flag to indicate if registration is allowed"]
    #[serde(rename = "registrationAllowed", default, skip_serializing_if = "Option::is_none")]
    pub registration_allowed: Option<bool>,
}
impl InventoryData {
    pub fn new() -> Self {
        Self::default()
    }
}
#[doc = "Represents inventory properties"]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct InventoryProperties {
    #[doc = "Serial number of the device."]
    #[serde(rename = "serialNumber", default, skip_serializing_if = "Option::is_none")]
    pub serial_number: Option<String>,
    #[doc = "Contains information about the order item to which inventory belongs"]
    #[serde(rename = "orderItem", default, skip_serializing_if = "Option::is_none")]
    pub order_item: Option<OrderItemData>,
    #[doc = "Contains information about inventory configuration"]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub configuration: Option<ConfigurationData>,
    #[doc = "Contains information about management resource"]
    #[serde(rename = "managementResource", default, skip_serializing_if = "Option::is_none")]
    pub management_resource: Option<ManagementResourceData>,
    #[doc = "Contains basic information about inventory"]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub inventory: Option<InventoryData>,
    #[doc = "Location of inventory"]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub location: Option<String>,
    #[doc = "Represents additional details about the partner inventory"]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub details: Option<InventoryAdditionalDetails>,
}
impl InventoryProperties {
    pub fn new() -> Self {
        Self::default()
    }
}
#[doc = "Request body for ManageInventoryMetadata call"]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct ManageInventoryMetadataRequest {
    #[doc = "Inventory metadata to be updated"]
    #[serde(rename = "inventoryMetadata")]
    pub inventory_metadata: String,
    #[doc = "Configuration parameters for ManageInventoryMetadata call"]
    #[serde(rename = "configurationOnDevice", default, skip_serializing_if = "Option::is_none")]
    pub configuration_on_device: Option<ConfigurationOnDevice>,
}
impl ManageInventoryMetadataRequest {
    pub fn new(inventory_metadata: String) -> Self {
        Self {
            inventory_metadata,
            configuration_on_device: None,
        }
    }
}
#[doc = "Request body for ManageLink call"]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct ManageLinkRequest {
    #[doc = "Arm Id of the management resource to which inventory is to be linked\r\nFor unlink operation, enter empty string"]
    #[serde(rename = "managementResourceArmId")]
    pub management_resource_arm_id: String,
    #[doc = "Operation to be performed - Link, Unlink, Relink"]
    pub operation: manage_link_request::Operation,
    #[doc = "Tenant ID of management resource associated with inventory"]
    #[serde(rename = "tenantId")]
    pub tenant_id: String,
}
impl ManageLinkRequest {
    pub fn new(management_resource_arm_id: String, operation: manage_link_request::Operation, tenant_id: String) -> Self {
        Self {
            management_resource_arm_id,
            operation,
            tenant_id,
        }
    }
}
pub mod manage_link_request {
    use super::*;
    #[doc = "Operation to be performed - Link, Unlink, Relink"]
    #[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
    pub enum Operation {
        Link,
        Unlink,
        Relink,
    }
}
#[doc = "Contains information about management resource"]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct ManagementResourceData {
    #[doc = "Arm ID of management resource associated with inventory"]
    #[serde(rename = "armId", default, skip_serializing_if = "Option::is_none")]
    pub arm_id: Option<String>,
    #[doc = "Tenant ID of management resource associated with inventory"]
    #[serde(rename = "tenantId", default, skip_serializing_if = "Option::is_none")]
    pub tenant_id: Option<String>,
}
impl ManagementResourceData {
    pub fn new() -> Self {
        Self::default()
    }
}
#[doc = "Details of a REST API operation, returned from the Resource Provider Operations API"]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct Operation {
    #[doc = "The name of the operation, as per Resource-Based Access Control (RBAC). Examples: \"Microsoft.Compute/virtualMachines/write\", \"Microsoft.Compute/virtualMachines/capture/action\""]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub name: Option<String>,
    #[doc = "Whether the operation applies to data-plane. This is \"true\" for data-plane operations and \"false\" for ARM/control-plane operations."]
    #[serde(rename = "isDataAction", default, skip_serializing_if = "Option::is_none")]
    pub is_data_action: Option<bool>,
    #[doc = "Localized display information for this particular operation."]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub display: Option<operation::Display>,
    #[doc = "The intended executor of the operation; as in Resource Based Access Control (RBAC) and audit logs UX. Default value is \"user,system\""]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub origin: Option<operation::Origin>,
    #[doc = "Enum. Indicates the action type. \"Internal\" refers to actions that are for internal only APIs."]
    #[serde(rename = "actionType", default, skip_serializing_if = "Option::is_none")]
    pub action_type: Option<operation::ActionType>,
}
impl Operation {
    pub fn new() -> Self {
        Self::default()
    }
}
pub mod operation {
    use super::*;
    #[doc = "Localized display information for this particular operation."]
    #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
    pub struct Display {
        #[doc = "The localized friendly form of the resource provider name, e.g. \"Microsoft Monitoring Insights\" or \"Microsoft Compute\"."]
        #[serde(default, skip_serializing_if = "Option::is_none")]
        pub provider: Option<String>,
        #[doc = "The localized friendly name of the resource type related to this operation. E.g. \"Virtual Machines\" or \"Job Schedule Collections\"."]
        #[serde(default, skip_serializing_if = "Option::is_none")]
        pub resource: Option<String>,
        #[doc = "The concise, localized friendly name for the operation; suitable for dropdowns. E.g. \"Create or Update Virtual Machine\", \"Restart Virtual Machine\"."]
        #[serde(default, skip_serializing_if = "Option::is_none")]
        pub operation: Option<String>,
        #[doc = "The short, localized friendly description of the operation; suitable for tool tips and detailed views."]
        #[serde(default, skip_serializing_if = "Option::is_none")]
        pub description: Option<String>,
    }
    impl Display {
        pub fn new() -> Self {
            Self::default()
        }
    }
    #[doc = "The intended executor of the operation; as in Resource Based Access Control (RBAC) and audit logs UX. Default value is \"user,system\""]
    #[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
    #[serde(remote = "Origin")]
    pub enum Origin {
        #[serde(rename = "user")]
        User,
        #[serde(rename = "system")]
        System,
        #[serde(rename = "user,system")]
        UserSystem,
        #[serde(skip_deserializing)]
        UnknownValue(String),
    }
    impl FromStr for Origin {
        type Err = value::Error;
        fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
            Self::deserialize(s.into_deserializer())
        }
    }
    impl<'de> Deserialize<'de> for Origin {
        fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
        where
            D: Deserializer<'de>,
        {
            let s = String::deserialize(deserializer)?;
            let deserialized = Self::from_str(&s).unwrap_or(Self::UnknownValue(s));
            Ok(deserialized)
        }
    }
    impl Serialize for Origin {
        fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
        where
            S: Serializer,
        {
            match self {
                Self::User => serializer.serialize_unit_variant("Origin", 0u32, "user"),
                Self::System => serializer.serialize_unit_variant("Origin", 1u32, "system"),
                Self::UserSystem => serializer.serialize_unit_variant("Origin", 2u32, "user,system"),
                Self::UnknownValue(s) => serializer.serialize_str(s.as_str()),
            }
        }
    }
    #[doc = "Enum. Indicates the action type. \"Internal\" refers to actions that are for internal only APIs."]
    #[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
    #[serde(remote = "ActionType")]
    pub enum ActionType {
        Internal,
        #[serde(skip_deserializing)]
        UnknownValue(String),
    }
    impl FromStr for ActionType {
        type Err = value::Error;
        fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
            Self::deserialize(s.into_deserializer())
        }
    }
    impl<'de> Deserialize<'de> for ActionType {
        fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
        where
            D: Deserializer<'de>,
        {
            let s = String::deserialize(deserializer)?;
            let deserialized = Self::from_str(&s).unwrap_or(Self::UnknownValue(s));
            Ok(deserialized)
        }
    }
    impl Serialize for ActionType {
        fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
        where
            S: Serializer,
        {
            match self {
                Self::Internal => serializer.serialize_unit_variant("ActionType", 0u32, "Internal"),
                Self::UnknownValue(s) => serializer.serialize_str(s.as_str()),
            }
        }
    }
}
#[doc = "A list of REST API operations supported by an Azure Resource Provider. It contains an URL link to get the next set of results."]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct OperationListResult {
    #[doc = "List of operations supported by the resource provider"]
    #[serde(
        default,
        deserialize_with = "azure_core::util::deserialize_null_as_default",
        skip_serializing_if = "Vec::is_empty"
    )]
    pub value: Vec<Operation>,
    #[doc = "URL to get the next set of operation list results (if there are any)."]
    #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")]
    pub next_link: Option<String>,
}
impl azure_core::Continuable for OperationListResult {
    type Continuation = String;
    fn continuation(&self) -> Option<Self::Continuation> {
        self.next_link.clone()
    }
}
impl OperationListResult {
    pub fn new() -> Self {
        Self::default()
    }
}
#[doc = "Contains information about the order item to which inventory belongs"]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct OrderItemData {
    #[doc = "Arm ID of order item"]
    #[serde(rename = "armId", default, skip_serializing_if = "Option::is_none")]
    pub arm_id: Option<String>,
    #[doc = "Order item type - purchase or rental"]
    #[serde(rename = "orderItemType", default, skip_serializing_if = "Option::is_none")]
    pub order_item_type: Option<order_item_data::OrderItemType>,
}
impl OrderItemData {
    pub fn new() -> Self {
        Self::default()
    }
}
pub mod order_item_data {
    use super::*;
    #[doc = "Order item type - purchase or rental"]
    #[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
    pub enum OrderItemType {
        Purchase,
        Rental,
    }
}
#[doc = "Represents partner inventory contract"]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct PartnerInventory {
    #[doc = "Represents inventory properties"]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub properties: Option<InventoryProperties>,
}
impl PartnerInventory {
    pub fn new() -> Self {
        Self::default()
    }
}
#[doc = "Represents the list of partner inventories"]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct PartnerInventoryList {
    #[doc = "List of partner inventories"]
    #[serde(
        default,
        deserialize_with = "azure_core::util::deserialize_null_as_default",
        skip_serializing_if = "Vec::is_empty"
    )]
    pub value: Vec<PartnerInventory>,
    #[doc = "Link for the next set of partner inventories."]
    #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")]
    pub next_link: Option<String>,
}
impl azure_core::Continuable for PartnerInventoryList {
    type Continuation = String;
    fn continuation(&self) -> Option<Self::Continuation> {
        self.next_link.clone()
    }
}
impl PartnerInventoryList {
    pub fn new() -> Self {
        Self::default()
    }
}
#[doc = "Request body for SearchInventories call"]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct SearchInventoriesRequest {
    #[doc = "Serial number of the inventory"]
    #[serde(rename = "serialNumber")]
    pub serial_number: String,
    #[doc = "Family identifier for inventory"]
    #[serde(rename = "familyIdentifier")]
    pub family_identifier: String,
}
impl SearchInventoriesRequest {
    pub fn new(serial_number: String, family_identifier: String) -> Self {
        Self {
            serial_number,
            family_identifier,
        }
    }
}
#[doc = "Specification details for the inventory"]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct SpecificationDetails {
    #[doc = "Name of the specification property"]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub name: Option<String>,
    #[doc = "Value of the specification property"]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub value: Option<String>,
}
impl SpecificationDetails {
    pub fn new() -> Self {
        Self::default()
    }
}
#[doc = "Resource stage details."]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct StageDetails {
    #[doc = "Stage status."]
    #[serde(rename = "stageStatus", default, skip_serializing_if = "Option::is_none")]
    pub stage_status: Option<stage_details::StageStatus>,
    #[doc = "Stage name"]
    #[serde(rename = "stageName", default, skip_serializing_if = "Option::is_none")]
    pub stage_name: Option<stage_details::StageName>,
    #[doc = "Display name of the resource stage."]
    #[serde(rename = "displayName", default, skip_serializing_if = "Option::is_none")]
    pub display_name: Option<String>,
    #[doc = "Stage start time"]
    #[serde(rename = "startTime", default, with = "azure_core::date::rfc3339::option")]
    pub start_time: Option<time::OffsetDateTime>,
}
impl StageDetails {
    pub fn new() -> Self {
        Self::default()
    }
}
pub mod stage_details {
    use super::*;
    #[doc = "Stage status."]
    #[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
    pub enum StageStatus {
        None,
        InProgress,
        Succeeded,
        Failed,
        Cancelled,
        Cancelling,
    }
    #[doc = "Stage name"]
    #[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
    pub enum StageName {
        DeviceOrdered,
        DevicePrepared,
        PickedUp,
        #[serde(rename = "AtAzureDC")]
        AtAzureDc,
        DataCopy,
        Completed,
        CompletedWithErrors,
        Cancelled,
        Aborted,
        CompletedWithWarnings,
        #[serde(rename = "ReadyToDispatchFromAzureDC")]
        ReadyToDispatchFromAzureDc,
        #[serde(rename = "ReadyToReceiveAtAzureDC")]
        ReadyToReceiveAtAzureDc,
        Placed,
        InReview,
        Confirmed,
        ReadyForDispatch,
        Shipped,
        Delivered,
        InUse,
    }
}
#[doc = "Contains subscription details"]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct SubscriptionDetails {
    #[doc = "Subscription Id"]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub id: Option<String>,
    #[doc = "Subscription State"]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub state: Option<String>,
    #[doc = "Subscription QuotaId"]
    #[serde(rename = "quotaId", default, skip_serializing_if = "Option::is_none")]
    pub quota_id: Option<String>,
}
impl SubscriptionDetails {
    pub fn new() -> Self {
        Self::default()
    }
}