#![doc = "generated by AutoRust"]
#![allow(non_camel_case_types)]
#![allow(unused_imports)]
use serde::{Deserialize, Serialize};
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct Application {
#[serde(flatten)]
pub resource: Resource,
pub properties: ApplicationProperties,
}
impl Application {
pub fn new(properties: ApplicationProperties) -> Self {
Self {
resource: Resource::default(),
properties,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct ApplicationGroup {
#[serde(flatten)]
pub resource_model_with_allowed_property_set: ResourceModelWithAllowedPropertySet,
pub properties: ApplicationGroupProperties,
}
impl ApplicationGroup {
pub fn new(properties: ApplicationGroupProperties) -> Self {
Self {
resource_model_with_allowed_property_set: ResourceModelWithAllowedPropertySet::default(),
properties,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct ApplicationGroupList {
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub value: Vec<ApplicationGroup>,
#[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")]
pub next_link: Option<String>,
}
impl ApplicationGroupList {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct ApplicationGroupPatch {
#[serde(flatten)]
pub resource: Resource,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<serde_json::Value>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<ApplicationGroupPatchProperties>,
}
impl ApplicationGroupPatch {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct ApplicationGroupPatchProperties {
#[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>,
}
impl ApplicationGroupPatchProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct ApplicationGroupProperties {
#[serde(rename = "objectId", default, skip_serializing_if = "Option::is_none")]
pub object_id: Option<String>,
#[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 = "hostPoolArmPath")]
pub host_pool_arm_path: String,
#[serde(rename = "workspaceArmPath", default, skip_serializing_if = "Option::is_none")]
pub workspace_arm_path: Option<String>,
#[serde(rename = "applicationGroupType")]
pub application_group_type: application_group_properties::ApplicationGroupType,
#[serde(rename = "migrationRequest", default, skip_serializing_if = "Option::is_none")]
pub migration_request: Option<MigrationRequestProperties>,
#[serde(rename = "cloudPcResource", default, skip_serializing_if = "Option::is_none")]
pub cloud_pc_resource: Option<bool>,
}
impl ApplicationGroupProperties {
pub fn new(host_pool_arm_path: String, application_group_type: application_group_properties::ApplicationGroupType) -> Self {
Self {
object_id: None,
description: None,
friendly_name: None,
host_pool_arm_path,
workspace_arm_path: None,
application_group_type,
migration_request: None,
cloud_pc_resource: None,
}
}
}
pub mod application_group_properties {
use super::*;
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub enum ApplicationGroupType {
RemoteApp,
Desktop,
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct ApplicationList {
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub value: Vec<Application>,
#[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")]
pub next_link: Option<String>,
}
impl ApplicationList {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct ApplicationPatch {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<serde_json::Value>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<ApplicationPatchProperties>,
}
impl ApplicationPatch {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct ApplicationPatchProperties {
#[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 = "filePath", default, skip_serializing_if = "Option::is_none")]
pub file_path: Option<String>,
#[serde(rename = "commandLineSetting", default, skip_serializing_if = "Option::is_none")]
pub command_line_setting: Option<application_patch_properties::CommandLineSetting>,
#[serde(rename = "commandLineArguments", default, skip_serializing_if = "Option::is_none")]
pub command_line_arguments: Option<String>,
#[serde(rename = "showInPortal", default, skip_serializing_if = "Option::is_none")]
pub show_in_portal: Option<bool>,
#[serde(rename = "iconPath", default, skip_serializing_if = "Option::is_none")]
pub icon_path: Option<String>,
#[serde(rename = "iconIndex", default, skip_serializing_if = "Option::is_none")]
pub icon_index: Option<i64>,
#[serde(rename = "msixPackageFamilyName", default, skip_serializing_if = "Option::is_none")]
pub msix_package_family_name: Option<String>,
#[serde(rename = "msixPackageApplicationId", default, skip_serializing_if = "Option::is_none")]
pub msix_package_application_id: Option<String>,
#[serde(rename = "applicationType", default, skip_serializing_if = "Option::is_none")]
pub application_type: Option<application_patch_properties::ApplicationType>,
}
impl ApplicationPatchProperties {
pub fn new() -> Self {
Self::default()
}
}
pub mod application_patch_properties {
use super::*;
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub enum CommandLineSetting {
DoNotAllow,
Allow,
Require,
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub enum ApplicationType {
InBuilt,
MsixApplication,
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct ApplicationProperties {
#[serde(rename = "objectId", default, skip_serializing_if = "Option::is_none")]
pub object_id: Option<String>,
#[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 = "filePath", default, skip_serializing_if = "Option::is_none")]
pub file_path: Option<String>,
#[serde(rename = "msixPackageFamilyName", default, skip_serializing_if = "Option::is_none")]
pub msix_package_family_name: Option<String>,
#[serde(rename = "msixPackageApplicationId", default, skip_serializing_if = "Option::is_none")]
pub msix_package_application_id: Option<String>,
#[serde(rename = "applicationType", default, skip_serializing_if = "Option::is_none")]
pub application_type: Option<application_properties::ApplicationType>,
#[serde(rename = "commandLineSetting")]
pub command_line_setting: application_properties::CommandLineSetting,
#[serde(rename = "commandLineArguments", default, skip_serializing_if = "Option::is_none")]
pub command_line_arguments: Option<String>,
#[serde(rename = "showInPortal", default, skip_serializing_if = "Option::is_none")]
pub show_in_portal: Option<bool>,
#[serde(rename = "iconPath", default, skip_serializing_if = "Option::is_none")]
pub icon_path: Option<String>,
#[serde(rename = "iconIndex", default, skip_serializing_if = "Option::is_none")]
pub icon_index: Option<i64>,
#[serde(rename = "iconHash", default, skip_serializing_if = "Option::is_none")]
pub icon_hash: Option<String>,
#[serde(rename = "iconContent", default, skip_serializing_if = "Option::is_none")]
pub icon_content: Option<String>,
}
impl ApplicationProperties {
pub fn new(command_line_setting: application_properties::CommandLineSetting) -> Self {
Self {
object_id: None,
description: None,
friendly_name: None,
file_path: None,
msix_package_family_name: None,
msix_package_application_id: None,
application_type: None,
command_line_setting,
command_line_arguments: None,
show_in_portal: None,
icon_path: None,
icon_index: None,
icon_hash: None,
icon_content: None,
}
}
}
pub mod application_properties {
use super::*;
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub enum ApplicationType {
InBuilt,
MsixApplication,
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub enum CommandLineSetting {
DoNotAllow,
Allow,
Require,
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct CloudError {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub error: Option<CloudErrorProperties>,
}
impl CloudError {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct CloudErrorProperties {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub code: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub message: Option<String>,
}
impl CloudErrorProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct Desktop {
#[serde(flatten)]
pub resource: Resource,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<DesktopProperties>,
}
impl Desktop {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct DesktopList {
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub value: Vec<Desktop>,
#[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")]
pub next_link: Option<String>,
}
impl DesktopList {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct DesktopPatch {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<serde_json::Value>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<DesktopPatchProperties>,
}
impl DesktopPatch {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct DesktopPatchProperties {
#[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>,
}
impl DesktopPatchProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct DesktopProperties {
#[serde(rename = "objectId", default, skip_serializing_if = "Option::is_none")]
pub object_id: Option<String>,
#[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 = "iconHash", default, skip_serializing_if = "Option::is_none")]
pub icon_hash: Option<String>,
#[serde(rename = "iconContent", default, skip_serializing_if = "Option::is_none")]
pub icon_content: Option<String>,
}
impl DesktopProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct ExpandMsixImage {
#[serde(flatten)]
pub resource: Resource,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<ExpandMsixImageProperties>,
}
impl ExpandMsixImage {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct ExpandMsixImageList {
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub value: Vec<ExpandMsixImage>,
#[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")]
pub next_link: Option<String>,
}
impl ExpandMsixImageList {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct ExpandMsixImageProperties {
#[serde(rename = "packageAlias", default, skip_serializing_if = "Option::is_none")]
pub package_alias: Option<String>,
#[serde(rename = "imagePath", default, skip_serializing_if = "Option::is_none")]
pub image_path: Option<String>,
#[serde(rename = "packageName", default, skip_serializing_if = "Option::is_none")]
pub package_name: Option<String>,
#[serde(rename = "packageFamilyName", default, skip_serializing_if = "Option::is_none")]
pub package_family_name: Option<String>,
#[serde(rename = "packageFullName", default, skip_serializing_if = "Option::is_none")]
pub package_full_name: Option<String>,
#[serde(rename = "displayName", default, skip_serializing_if = "Option::is_none")]
pub display_name: Option<String>,
#[serde(rename = "packageRelativePath", default, skip_serializing_if = "Option::is_none")]
pub package_relative_path: Option<String>,
#[serde(rename = "isRegularRegistration", default, skip_serializing_if = "Option::is_none")]
pub is_regular_registration: Option<bool>,
#[serde(rename = "isActive", default, skip_serializing_if = "Option::is_none")]
pub is_active: Option<bool>,
#[serde(rename = "packageDependencies", default, skip_serializing_if = "Vec::is_empty")]
pub package_dependencies: Vec<MsixPackageDependencies>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub version: Option<String>,
#[serde(rename = "lastUpdated", default, skip_serializing_if = "Option::is_none")]
pub last_updated: Option<String>,
#[serde(rename = "packageApplications", default, skip_serializing_if = "Vec::is_empty")]
pub package_applications: Vec<MsixPackageApplications>,
}
impl ExpandMsixImageProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct HostPool {
#[serde(flatten)]
pub resource_model_with_allowed_property_set: ResourceModelWithAllowedPropertySet,
pub properties: HostPoolProperties,
}
impl HostPool {
pub fn new(properties: HostPoolProperties) -> Self {
Self {
resource_model_with_allowed_property_set: ResourceModelWithAllowedPropertySet::default(),
properties,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct HostPoolList {
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub value: Vec<HostPool>,
#[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")]
pub next_link: Option<String>,
}
impl HostPoolList {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct HostPoolPatch {
#[serde(flatten)]
pub resource: Resource,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<serde_json::Value>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<HostPoolPatchProperties>,
}
impl HostPoolPatch {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct HostPoolPatchProperties {
#[serde(rename = "friendlyName", default, skip_serializing_if = "Option::is_none")]
pub friendly_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(rename = "customRdpProperty", default, skip_serializing_if = "Option::is_none")]
pub custom_rdp_property: Option<String>,
#[serde(rename = "maxSessionLimit", default, skip_serializing_if = "Option::is_none")]
pub max_session_limit: Option<i64>,
#[serde(rename = "personalDesktopAssignmentType", default, skip_serializing_if = "Option::is_none")]
pub personal_desktop_assignment_type: Option<host_pool_patch_properties::PersonalDesktopAssignmentType>,
#[serde(rename = "loadBalancerType", default, skip_serializing_if = "Option::is_none")]
pub load_balancer_type: Option<host_pool_patch_properties::LoadBalancerType>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ring: Option<i64>,
#[serde(rename = "validationEnvironment", default, skip_serializing_if = "Option::is_none")]
pub validation_environment: Option<bool>,
#[serde(rename = "registrationInfo", default, skip_serializing_if = "Option::is_none")]
pub registration_info: Option<RegistrationInfoPatch>,
#[serde(rename = "vmTemplate", default, skip_serializing_if = "Option::is_none")]
pub vm_template: Option<String>,
#[serde(rename = "ssoadfsAuthority", default, skip_serializing_if = "Option::is_none")]
pub ssoadfs_authority: Option<String>,
#[serde(rename = "ssoClientId", default, skip_serializing_if = "Option::is_none")]
pub sso_client_id: Option<String>,
#[serde(rename = "ssoClientSecretKeyVaultPath", default, skip_serializing_if = "Option::is_none")]
pub sso_client_secret_key_vault_path: Option<String>,
#[serde(rename = "ssoSecretType", default, skip_serializing_if = "Option::is_none")]
pub sso_secret_type: Option<host_pool_patch_properties::SsoSecretType>,
#[serde(rename = "preferredAppGroupType", default, skip_serializing_if = "Option::is_none")]
pub preferred_app_group_type: Option<host_pool_patch_properties::PreferredAppGroupType>,
#[serde(rename = "startVMOnConnect", default, skip_serializing_if = "Option::is_none")]
pub start_vm_on_connect: Option<bool>,
}
impl HostPoolPatchProperties {
pub fn new() -> Self {
Self::default()
}
}
pub mod host_pool_patch_properties {
use super::*;
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub enum PersonalDesktopAssignmentType {
Automatic,
Direct,
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub enum LoadBalancerType {
BreadthFirst,
DepthFirst,
Persistent,
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub enum SsoSecretType {
SharedKey,
Certificate,
SharedKeyInKeyVault,
CertificateInKeyVault,
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub enum PreferredAppGroupType {
None,
Desktop,
RailApplications,
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct HostPoolProperties {
#[serde(rename = "objectId", default, skip_serializing_if = "Option::is_none")]
pub object_id: Option<String>,
#[serde(rename = "friendlyName", default, skip_serializing_if = "Option::is_none")]
pub friendly_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(rename = "hostPoolType")]
pub host_pool_type: host_pool_properties::HostPoolType,
#[serde(rename = "personalDesktopAssignmentType", default, skip_serializing_if = "Option::is_none")]
pub personal_desktop_assignment_type: Option<host_pool_properties::PersonalDesktopAssignmentType>,
#[serde(rename = "customRdpProperty", default, skip_serializing_if = "Option::is_none")]
pub custom_rdp_property: Option<String>,
#[serde(rename = "maxSessionLimit", default, skip_serializing_if = "Option::is_none")]
pub max_session_limit: Option<i64>,
#[serde(rename = "loadBalancerType")]
pub load_balancer_type: host_pool_properties::LoadBalancerType,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ring: Option<i64>,
#[serde(rename = "validationEnvironment", default, skip_serializing_if = "Option::is_none")]
pub validation_environment: Option<bool>,
#[serde(rename = "registrationInfo", default, skip_serializing_if = "Option::is_none")]
pub registration_info: Option<RegistrationInfo>,
#[serde(rename = "vmTemplate", default, skip_serializing_if = "Option::is_none")]
pub vm_template: Option<String>,
#[serde(rename = "applicationGroupReferences", default, skip_serializing_if = "Vec::is_empty")]
pub application_group_references: Vec<String>,
#[serde(rename = "ssoadfsAuthority", default, skip_serializing_if = "Option::is_none")]
pub ssoadfs_authority: Option<String>,
#[serde(rename = "ssoClientId", default, skip_serializing_if = "Option::is_none")]
pub sso_client_id: Option<String>,
#[serde(rename = "ssoClientSecretKeyVaultPath", default, skip_serializing_if = "Option::is_none")]
pub sso_client_secret_key_vault_path: Option<String>,
#[serde(rename = "ssoSecretType", default, skip_serializing_if = "Option::is_none")]
pub sso_secret_type: Option<host_pool_properties::SsoSecretType>,
#[serde(rename = "preferredAppGroupType")]
pub preferred_app_group_type: host_pool_properties::PreferredAppGroupType,
#[serde(rename = "startVMOnConnect", default, skip_serializing_if = "Option::is_none")]
pub start_vm_on_connect: Option<bool>,
#[serde(rename = "migrationRequest", default, skip_serializing_if = "Option::is_none")]
pub migration_request: Option<MigrationRequestProperties>,
#[serde(rename = "cloudPcResource", default, skip_serializing_if = "Option::is_none")]
pub cloud_pc_resource: Option<bool>,
}
impl HostPoolProperties {
pub fn new(
host_pool_type: host_pool_properties::HostPoolType,
load_balancer_type: host_pool_properties::LoadBalancerType,
preferred_app_group_type: host_pool_properties::PreferredAppGroupType,
) -> Self {
Self {
object_id: None,
friendly_name: None,
description: None,
host_pool_type,
personal_desktop_assignment_type: None,
custom_rdp_property: None,
max_session_limit: None,
load_balancer_type,
ring: None,
validation_environment: None,
registration_info: None,
vm_template: None,
application_group_references: Vec::new(),
ssoadfs_authority: None,
sso_client_id: None,
sso_client_secret_key_vault_path: None,
sso_secret_type: None,
preferred_app_group_type,
start_vm_on_connect: None,
migration_request: None,
cloud_pc_resource: None,
}
}
}
pub mod host_pool_properties {
use super::*;
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub enum HostPoolType {
Personal,
Pooled,
#[serde(rename = "BYODesktop")]
ByoDesktop,
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub enum PersonalDesktopAssignmentType {
Automatic,
Direct,
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub enum LoadBalancerType {
BreadthFirst,
DepthFirst,
Persistent,
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub enum SsoSecretType {
SharedKey,
Certificate,
SharedKeyInKeyVault,
CertificateInKeyVault,
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub enum PreferredAppGroupType {
None,
Desktop,
RailApplications,
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct Identity {
#[serde(rename = "principalId", default, skip_serializing_if = "Option::is_none")]
pub principal_id: Option<String>,
#[serde(rename = "tenantId", default, skip_serializing_if = "Option::is_none")]
pub tenant_id: Option<String>,
#[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
pub type_: Option<identity::Type>,
}
impl Identity {
pub fn new() -> Self {
Self::default()
}
}
pub mod identity {
use super::*;
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub enum Type {
SystemAssigned,
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct LogSpecification {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(rename = "displayName", default, skip_serializing_if = "Option::is_none")]
pub display_name: Option<String>,
#[serde(rename = "blobDuration", default, skip_serializing_if = "Option::is_none")]
pub blob_duration: Option<String>,
}
impl LogSpecification {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct MsixImageUri {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uri: Option<String>,
}
impl MsixImageUri {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct MsixPackage {
#[serde(flatten)]
pub resource: Resource,
pub properties: MsixPackageProperties,
}
impl MsixPackage {
pub fn new(properties: MsixPackageProperties) -> Self {
Self {
resource: Resource::default(),
properties,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct MsixPackageList {
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub value: Vec<MsixPackage>,
#[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")]
pub next_link: Option<String>,
}
impl MsixPackageList {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct MsixPackagePatch {
#[serde(flatten)]
pub resource: Resource,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<MsixPackagePatchProperties>,
}
impl MsixPackagePatch {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct MsixPackagePatchProperties {
#[serde(rename = "isActive", default, skip_serializing_if = "Option::is_none")]
pub is_active: Option<bool>,
#[serde(rename = "isRegularRegistration", default, skip_serializing_if = "Option::is_none")]
pub is_regular_registration: Option<bool>,
#[serde(rename = "displayName", default, skip_serializing_if = "Option::is_none")]
pub display_name: Option<String>,
}
impl MsixPackagePatchProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct MsixPackageProperties {
#[serde(rename = "imagePath", default, skip_serializing_if = "Option::is_none")]
pub image_path: Option<String>,
#[serde(rename = "packageName", default, skip_serializing_if = "Option::is_none")]
pub package_name: Option<String>,
#[serde(rename = "packageFamilyName", default, skip_serializing_if = "Option::is_none")]
pub package_family_name: Option<String>,
#[serde(rename = "displayName", default, skip_serializing_if = "Option::is_none")]
pub display_name: Option<String>,
#[serde(rename = "packageRelativePath", default, skip_serializing_if = "Option::is_none")]
pub package_relative_path: Option<String>,
#[serde(rename = "isRegularRegistration", default, skip_serializing_if = "Option::is_none")]
pub is_regular_registration: Option<bool>,
#[serde(rename = "isActive", default, skip_serializing_if = "Option::is_none")]
pub is_active: Option<bool>,
#[serde(rename = "packageDependencies", default, skip_serializing_if = "Vec::is_empty")]
pub package_dependencies: Vec<MsixPackageDependencies>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub version: Option<String>,
#[serde(rename = "lastUpdated", default, skip_serializing_if = "Option::is_none")]
pub last_updated: Option<String>,
#[serde(rename = "packageApplications", default, skip_serializing_if = "Vec::is_empty")]
pub package_applications: Vec<MsixPackageApplications>,
}
impl MsixPackageProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct MigrationRequestProperties {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub operation: Option<migration_request_properties::Operation>,
#[serde(rename = "migrationPath", default, skip_serializing_if = "Option::is_none")]
pub migration_path: Option<String>,
}
impl MigrationRequestProperties {
pub fn new() -> Self {
Self::default()
}
}
pub mod migration_request_properties {
use super::*;
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub enum Operation {
Start,
Revoke,
Complete,
Hide,
Unhide,
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct MsixPackageApplications {
#[serde(rename = "appId", default, skip_serializing_if = "Option::is_none")]
pub app_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(rename = "appUserModelID", default, skip_serializing_if = "Option::is_none")]
pub app_user_model_id: Option<String>,
#[serde(rename = "friendlyName", default, skip_serializing_if = "Option::is_none")]
pub friendly_name: Option<String>,
#[serde(rename = "iconImageName", default, skip_serializing_if = "Option::is_none")]
pub icon_image_name: Option<String>,
#[serde(rename = "rawIcon", default, skip_serializing_if = "Option::is_none")]
pub raw_icon: Option<String>,
#[serde(rename = "rawPng", default, skip_serializing_if = "Option::is_none")]
pub raw_png: Option<String>,
}
impl MsixPackageApplications {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct MsixPackageDependencies {
#[serde(rename = "dependencyName", default, skip_serializing_if = "Option::is_none")]
pub dependency_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub publisher: Option<String>,
#[serde(rename = "minVersion", default, skip_serializing_if = "Option::is_none")]
pub min_version: Option<String>,
}
impl MsixPackageDependencies {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct OperationProperties {
#[serde(rename = "serviceSpecification", default, skip_serializing_if = "Option::is_none")]
pub service_specification: Option<ServiceSpecification>,
}
impl OperationProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct Plan {
pub name: String,
pub publisher: String,
pub product: String,
#[serde(rename = "promotionCode", default, skip_serializing_if = "Option::is_none")]
pub promotion_code: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub version: Option<String>,
}
impl Plan {
pub fn new(name: String, publisher: String, product: String) -> Self {
Self {
name,
publisher,
product,
promotion_code: None,
version: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct RegistrationInfo {
#[serde(rename = "expirationTime", default, skip_serializing_if = "Option::is_none")]
pub expiration_time: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
#[serde(rename = "registrationTokenOperation", default, skip_serializing_if = "Option::is_none")]
pub registration_token_operation: Option<registration_info::RegistrationTokenOperation>,
}
impl RegistrationInfo {
pub fn new() -> Self {
Self::default()
}
}
pub mod registration_info {
use super::*;
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub enum RegistrationTokenOperation {
Delete,
None,
Update,
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct RegistrationInfoPatch {
#[serde(rename = "expirationTime", default, skip_serializing_if = "Option::is_none")]
pub expiration_time: Option<String>,
#[serde(rename = "registrationTokenOperation", default, skip_serializing_if = "Option::is_none")]
pub registration_token_operation: Option<registration_info_patch::RegistrationTokenOperation>,
}
impl RegistrationInfoPatch {
pub fn new() -> Self {
Self::default()
}
}
pub mod registration_info_patch {
use super::*;
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub enum RegistrationTokenOperation {
Delete,
None,
Update,
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct Resource {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
pub type_: Option<String>,
}
impl Resource {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct ResourceModelWithAllowedPropertySet {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
pub type_: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub location: Option<String>,
#[serde(rename = "managedBy", default, skip_serializing_if = "Option::is_none")]
pub managed_by: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub kind: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub etag: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<serde_json::Value>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub identity: Option<serde_json::Value>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sku: Option<serde_json::Value>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub plan: Option<serde_json::Value>,
}
impl ResourceModelWithAllowedPropertySet {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct ResourceProviderOperation {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub display: Option<resource_provider_operation::Display>,
#[serde(rename = "isDataAction", default, skip_serializing_if = "Option::is_none")]
pub is_data_action: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<OperationProperties>,
}
impl ResourceProviderOperation {
pub fn new() -> Self {
Self::default()
}
}
pub mod resource_provider_operation {
use super::*;
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct Display {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub provider: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resource: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub operation: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
}
impl Display {
pub fn new() -> Self {
Self::default()
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct ResourceProviderOperationList {
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub value: Vec<ResourceProviderOperation>,
}
impl ResourceProviderOperationList {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct ScalingHostPoolReference {
#[serde(rename = "hostPoolArmPath", default, skip_serializing_if = "Option::is_none")]
pub host_pool_arm_path: Option<String>,
#[serde(rename = "scalingPlanEnabled", default, skip_serializing_if = "Option::is_none")]
pub scaling_plan_enabled: Option<bool>,
}
impl ScalingHostPoolReference {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct ScalingPlan {
#[serde(flatten)]
pub resource_model_with_allowed_property_set: ResourceModelWithAllowedPropertySet,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<ScalingPlanProperties>,
}
impl ScalingPlan {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct ScalingPlanList {
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub value: Vec<ScalingPlan>,
#[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")]
pub next_link: Option<String>,
}
impl ScalingPlanList {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct ScalingPlanPatch {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<serde_json::Value>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<ScalingPlanPatchProperties>,
}
impl ScalingPlanPatch {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct ScalingPlanPatchProperties {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ring: Option<i32>,
#[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 = "timeZone", default, skip_serializing_if = "Option::is_none")]
pub time_zone: Option<String>,
#[serde(rename = "hostPoolType", default, skip_serializing_if = "Option::is_none")]
pub host_pool_type: Option<scaling_plan_patch_properties::HostPoolType>,
#[serde(rename = "exclusionTag", default, skip_serializing_if = "Option::is_none")]
pub exclusion_tag: Option<String>,
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub schedules: Vec<ScalingSchedule>,
#[serde(rename = "hostPoolReferences", default, skip_serializing_if = "Vec::is_empty")]
pub host_pool_references: Vec<ScalingHostPoolReference>,
}
impl ScalingPlanPatchProperties {
pub fn new() -> Self {
Self::default()
}
}
pub mod scaling_plan_patch_properties {
use super::*;
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub enum HostPoolType {
Personal,
Pooled,
#[serde(rename = "BYODesktop")]
ByoDesktop,
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct ScalingPlanProperties {
#[serde(rename = "objectId", default, skip_serializing_if = "Option::is_none")]
pub object_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ring: Option<i32>,
#[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 = "timeZone", default, skip_serializing_if = "Option::is_none")]
pub time_zone: Option<String>,
#[serde(rename = "hostPoolType", default, skip_serializing_if = "Option::is_none")]
pub host_pool_type: Option<scaling_plan_properties::HostPoolType>,
#[serde(rename = "exclusionTag", default, skip_serializing_if = "Option::is_none")]
pub exclusion_tag: Option<String>,
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub schedules: Vec<ScalingSchedule>,
#[serde(rename = "hostPoolReferences", default, skip_serializing_if = "Vec::is_empty")]
pub host_pool_references: Vec<ScalingHostPoolReference>,
}
impl ScalingPlanProperties {
pub fn new() -> Self {
Self::default()
}
}
pub mod scaling_plan_properties {
use super::*;
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub enum HostPoolType {
Personal,
Pooled,
#[serde(rename = "BYODesktop")]
ByoDesktop,
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct ScalingSchedule {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(rename = "daysOfWeek", default, skip_serializing_if = "Vec::is_empty")]
pub days_of_week: Vec<String>,
#[serde(rename = "rampUpStartTime", default, skip_serializing_if = "Option::is_none")]
pub ramp_up_start_time: Option<String>,
#[serde(rename = "rampUpLoadBalancingAlgorithm", default, skip_serializing_if = "Option::is_none")]
pub ramp_up_load_balancing_algorithm: Option<scaling_schedule::RampUpLoadBalancingAlgorithm>,
#[serde(rename = "rampUpMinimumHostsPct", default, skip_serializing_if = "Option::is_none")]
pub ramp_up_minimum_hosts_pct: Option<i32>,
#[serde(rename = "rampUpCapacityThresholdPct", default, skip_serializing_if = "Option::is_none")]
pub ramp_up_capacity_threshold_pct: Option<i32>,
#[serde(rename = "peakStartTime", default, skip_serializing_if = "Option::is_none")]
pub peak_start_time: Option<String>,
#[serde(rename = "peakLoadBalancingAlgorithm", default, skip_serializing_if = "Option::is_none")]
pub peak_load_balancing_algorithm: Option<scaling_schedule::PeakLoadBalancingAlgorithm>,
#[serde(rename = "rampDownStartTime", default, skip_serializing_if = "Option::is_none")]
pub ramp_down_start_time: Option<String>,
#[serde(rename = "rampDownLoadBalancingAlgorithm", default, skip_serializing_if = "Option::is_none")]
pub ramp_down_load_balancing_algorithm: Option<scaling_schedule::RampDownLoadBalancingAlgorithm>,
#[serde(rename = "rampDownMinimumHostsPct", default, skip_serializing_if = "Option::is_none")]
pub ramp_down_minimum_hosts_pct: Option<i32>,
#[serde(rename = "rampDownCapacityThresholdPct", default, skip_serializing_if = "Option::is_none")]
pub ramp_down_capacity_threshold_pct: Option<i32>,
#[serde(rename = "rampDownForceLogoffUsers", default, skip_serializing_if = "Option::is_none")]
pub ramp_down_force_logoff_users: Option<bool>,
#[serde(rename = "rampDownStopHostsWhen", default, skip_serializing_if = "Option::is_none")]
pub ramp_down_stop_hosts_when: Option<scaling_schedule::RampDownStopHostsWhen>,
#[serde(rename = "rampDownWaitTimeMinutes", default, skip_serializing_if = "Option::is_none")]
pub ramp_down_wait_time_minutes: Option<i32>,
#[serde(rename = "rampDownNotificationMessage", default, skip_serializing_if = "Option::is_none")]
pub ramp_down_notification_message: Option<String>,
#[serde(rename = "offPeakStartTime", default, skip_serializing_if = "Option::is_none")]
pub off_peak_start_time: Option<String>,
#[serde(rename = "offPeakLoadBalancingAlgorithm", default, skip_serializing_if = "Option::is_none")]
pub off_peak_load_balancing_algorithm: Option<scaling_schedule::OffPeakLoadBalancingAlgorithm>,
}
impl ScalingSchedule {
pub fn new() -> Self {
Self::default()
}
}
pub mod scaling_schedule {
use super::*;
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub enum RampUpLoadBalancingAlgorithm {
BreadthFirst,
DepthFirst,
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub enum PeakLoadBalancingAlgorithm {
BreadthFirst,
DepthFirst,
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub enum RampDownLoadBalancingAlgorithm {
BreadthFirst,
DepthFirst,
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub enum RampDownStopHostsWhen {
ZeroSessions,
ZeroActiveSessions,
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub enum OffPeakLoadBalancingAlgorithm {
BreadthFirst,
DepthFirst,
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct SendMessage {
#[serde(rename = "messageTitle", default, skip_serializing_if = "Option::is_none")]
pub message_title: Option<String>,
#[serde(rename = "messageBody", default, skip_serializing_if = "Option::is_none")]
pub message_body: Option<String>,
}
impl SendMessage {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct ServiceSpecification {
#[serde(rename = "logSpecifications", default, skip_serializing_if = "Vec::is_empty")]
pub log_specifications: Vec<LogSpecification>,
}
impl ServiceSpecification {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct SessionHost {
#[serde(flatten)]
pub resource: Resource,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<SessionHostProperties>,
}
impl SessionHost {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct SessionHostHealthCheckFailureDetails {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub message: Option<String>,
#[serde(rename = "errorCode", default, skip_serializing_if = "Option::is_none")]
pub error_code: Option<i32>,
#[serde(rename = "lastHealthCheckDateTime", default, skip_serializing_if = "Option::is_none")]
pub last_health_check_date_time: Option<String>,
}
impl SessionHostHealthCheckFailureDetails {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct SessionHostHealthCheckReport {
#[serde(rename = "healthCheckName", default, skip_serializing_if = "Option::is_none")]
pub health_check_name: Option<session_host_health_check_report::HealthCheckName>,
#[serde(rename = "healthCheckResult", default, skip_serializing_if = "Option::is_none")]
pub health_check_result: Option<session_host_health_check_report::HealthCheckResult>,
#[serde(rename = "additionalFailureDetails", default, skip_serializing_if = "Option::is_none")]
pub additional_failure_details: Option<SessionHostHealthCheckFailureDetails>,
}
impl SessionHostHealthCheckReport {
pub fn new() -> Self {
Self::default()
}
}
pub mod session_host_health_check_report {
use super::*;
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub enum HealthCheckName {
DomainJoinedCheck,
DomainTrustCheck,
#[serde(rename = "FSLogixHealthCheck")]
FsLogixHealthCheck,
SxSStackListenerCheck,
UrlsAccessibleCheck,
MonitoringAgentCheck,
DomainReachable,
#[serde(rename = "WebRTCRedirectorCheck")]
WebRtcRedirectorCheck,
SupportedEncryptionCheck,
MetaDataServiceCheck,
AppAttachHealthCheck,
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub enum HealthCheckResult {
Unknown,
HealthCheckSucceeded,
HealthCheckFailed,
SessionHostShutdown,
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct SessionHostList {
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub value: Vec<SessionHost>,
#[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")]
pub next_link: Option<String>,
}
impl SessionHostList {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct SessionHostPatch {
#[serde(flatten)]
pub resource: Resource,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<SessionHostPatchProperties>,
}
impl SessionHostPatch {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct SessionHostPatchProperties {
#[serde(rename = "allowNewSession", default, skip_serializing_if = "Option::is_none")]
pub allow_new_session: Option<bool>,
#[serde(rename = "assignedUser", default, skip_serializing_if = "Option::is_none")]
pub assigned_user: Option<String>,
}
impl SessionHostPatchProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct SessionHostProperties {
#[serde(rename = "objectId", default, skip_serializing_if = "Option::is_none")]
pub object_id: Option<String>,
#[serde(rename = "lastHeartBeat", default, skip_serializing_if = "Option::is_none")]
pub last_heart_beat: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sessions: Option<i64>,
#[serde(rename = "agentVersion", default, skip_serializing_if = "Option::is_none")]
pub agent_version: Option<String>,
#[serde(rename = "allowNewSession", default, skip_serializing_if = "Option::is_none")]
pub allow_new_session: Option<bool>,
#[serde(rename = "virtualMachineId", default, skip_serializing_if = "Option::is_none")]
pub virtual_machine_id: Option<String>,
#[serde(rename = "resourceId", default, skip_serializing_if = "Option::is_none")]
pub resource_id: Option<String>,
#[serde(rename = "assignedUser", default, skip_serializing_if = "Option::is_none")]
pub assigned_user: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub status: Option<session_host_properties::Status>,
#[serde(rename = "statusTimestamp", default, skip_serializing_if = "Option::is_none")]
pub status_timestamp: Option<String>,
#[serde(rename = "osVersion", default, skip_serializing_if = "Option::is_none")]
pub os_version: Option<String>,
#[serde(rename = "sxSStackVersion", default, skip_serializing_if = "Option::is_none")]
pub sx_s_stack_version: Option<String>,
#[serde(rename = "updateState", default, skip_serializing_if = "Option::is_none")]
pub update_state: Option<session_host_properties::UpdateState>,
#[serde(rename = "lastUpdateTime", default, skip_serializing_if = "Option::is_none")]
pub last_update_time: Option<String>,
#[serde(rename = "updateErrorMessage", default, skip_serializing_if = "Option::is_none")]
pub update_error_message: Option<String>,
#[serde(rename = "sessionHostHealthCheckResults", default, skip_serializing_if = "Vec::is_empty")]
pub session_host_health_check_results: Vec<SessionHostHealthCheckReport>,
}
impl SessionHostProperties {
pub fn new() -> Self {
Self::default()
}
}
pub mod session_host_properties {
use super::*;
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub enum Status {
Available,
Unavailable,
Shutdown,
Disconnected,
Upgrading,
UpgradeFailed,
NoHeartbeat,
NotJoinedToDomain,
DomainTrustRelationshipLost,
SxSStackListenerNotReady,
#[serde(rename = "FSLogixNotHealthy")]
FsLogixNotHealthy,
NeedsAssistance,
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub enum UpdateState {
Initial,
Pending,
Started,
Succeeded,
Failed,
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct Sku {
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tier: Option<sku::Tier>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub size: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub family: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub capacity: Option<i32>,
}
impl Sku {
pub fn new(name: String) -> Self {
Self {
name,
tier: None,
size: None,
family: None,
capacity: None,
}
}
}
pub mod sku {
use super::*;
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub enum Tier {
Free,
Basic,
Standard,
Premium,
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct StartMenuItem {
#[serde(flatten)]
pub resource: Resource,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<StartMenuItemProperties>,
}
impl StartMenuItem {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct StartMenuItemList {
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub value: Vec<StartMenuItem>,
#[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")]
pub next_link: Option<String>,
}
impl StartMenuItemList {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct StartMenuItemProperties {
#[serde(rename = "appAlias", default, skip_serializing_if = "Option::is_none")]
pub app_alias: Option<String>,
#[serde(rename = "filePath", default, skip_serializing_if = "Option::is_none")]
pub file_path: Option<String>,
#[serde(rename = "commandLineArguments", default, skip_serializing_if = "Option::is_none")]
pub command_line_arguments: Option<String>,
#[serde(rename = "iconPath", default, skip_serializing_if = "Option::is_none")]
pub icon_path: Option<String>,
#[serde(rename = "iconIndex", default, skip_serializing_if = "Option::is_none")]
pub icon_index: Option<i64>,
}
impl StartMenuItemProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct UserSession {
#[serde(flatten)]
pub resource: Resource,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<UserSessionProperties>,
}
impl UserSession {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct UserSessionList {
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub value: Vec<UserSession>,
#[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")]
pub next_link: Option<String>,
}
impl UserSessionList {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct UserSessionProperties {
#[serde(rename = "objectId", default, skip_serializing_if = "Option::is_none")]
pub object_id: Option<String>,
#[serde(rename = "userPrincipalName", default, skip_serializing_if = "Option::is_none")]
pub user_principal_name: Option<String>,
#[serde(rename = "applicationType", default, skip_serializing_if = "Option::is_none")]
pub application_type: Option<user_session_properties::ApplicationType>,
#[serde(rename = "sessionState", default, skip_serializing_if = "Option::is_none")]
pub session_state: Option<user_session_properties::SessionState>,
#[serde(rename = "activeDirectoryUserName", default, skip_serializing_if = "Option::is_none")]
pub active_directory_user_name: Option<String>,
#[serde(rename = "createTime", default, skip_serializing_if = "Option::is_none")]
pub create_time: Option<String>,
}
impl UserSessionProperties {
pub fn new() -> Self {
Self::default()
}
}
pub mod user_session_properties {
use super::*;
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub enum ApplicationType {
RemoteApp,
Desktop,
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub enum SessionState {
Unknown,
Active,
Disconnected,
Pending,
LogOff,
UserProfileDiskMounted,
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct Workspace {
#[serde(flatten)]
pub resource_model_with_allowed_property_set: ResourceModelWithAllowedPropertySet,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<WorkspaceProperties>,
}
impl Workspace {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct WorkspaceList {
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub value: Vec<Workspace>,
#[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")]
pub next_link: Option<String>,
}
impl WorkspaceList {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct WorkspacePatch {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<serde_json::Value>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<WorkspacePatchProperties>,
}
impl WorkspacePatch {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct WorkspacePatchProperties {
#[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 = "applicationGroupReferences", default, skip_serializing_if = "Vec::is_empty")]
pub application_group_references: Vec<String>,
}
impl WorkspacePatchProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct WorkspaceProperties {
#[serde(rename = "objectId", default, skip_serializing_if = "Option::is_none")]
pub object_id: Option<String>,
#[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 = "applicationGroupReferences", default, skip_serializing_if = "Vec::is_empty")]
pub application_group_references: Vec<String>,
#[serde(rename = "cloudPcResource", default, skip_serializing_if = "Option::is_none")]
pub cloud_pc_resource: Option<bool>,
}
impl WorkspaceProperties {
pub fn new() -> Self {
Self::default()
}
}