#![doc = "generated by AutoRust"]
#![allow(non_camel_case_types)]
#![allow(unused_imports)]
use serde::{Deserialize, Serialize};
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct CloudError {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub error: Option<CloudErrorBody>,
}
impl CloudError {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct CloudErrorBody {
#[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, skip_serializing_if = "Vec::is_empty")]
pub details: Vec<CloudErrorBody>,
}
impl CloudErrorBody {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct ImageTemplate {
#[serde(flatten)]
pub tracked_resource: TrackedResource,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<ImageTemplateProperties>,
pub identity: ImageTemplateIdentity,
#[serde(rename = "systemData", default, skip_serializing_if = "Option::is_none")]
pub system_data: Option<SystemData>,
}
impl ImageTemplate {
pub fn new(tracked_resource: TrackedResource, identity: ImageTemplateIdentity) -> Self {
Self {
tracked_resource,
properties: None,
identity,
system_data: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct ImageTemplateCustomizer {
#[serde(rename = "type")]
pub type_: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
impl ImageTemplateCustomizer {
pub fn new(type_: String) -> Self {
Self { type_, name: None }
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct ImageTemplateDistributor {
#[serde(rename = "type")]
pub type_: String,
#[serde(rename = "runOutputName")]
pub run_output_name: String,
#[serde(rename = "artifactTags", default, skip_serializing_if = "Option::is_none")]
pub artifact_tags: Option<serde_json::Value>,
}
impl ImageTemplateDistributor {
pub fn new(type_: String, run_output_name: String) -> Self {
Self {
type_,
run_output_name,
artifact_tags: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct ImageTemplateFileCustomizer {
#[serde(flatten)]
pub image_template_customizer: ImageTemplateCustomizer,
#[serde(rename = "sourceUri", default, skip_serializing_if = "Option::is_none")]
pub source_uri: Option<String>,
#[serde(rename = "sha256Checksum", default, skip_serializing_if = "Option::is_none")]
pub sha256_checksum: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub destination: Option<String>,
}
impl ImageTemplateFileCustomizer {
pub fn new(image_template_customizer: ImageTemplateCustomizer) -> Self {
Self {
image_template_customizer,
source_uri: None,
sha256_checksum: None,
destination: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct ImageTemplateIdentity {
#[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
pub type_: Option<image_template_identity::Type>,
#[serde(rename = "userAssignedIdentities", default, skip_serializing_if = "Option::is_none")]
pub user_assigned_identities: Option<serde_json::Value>,
}
impl ImageTemplateIdentity {
pub fn new() -> Self {
Self::default()
}
}
pub mod image_template_identity {
use super::*;
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub enum Type {
UserAssigned,
None,
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct ImageTemplateLastRunStatus {
#[serde(rename = "startTime", default, skip_serializing_if = "Option::is_none")]
pub start_time: Option<String>,
#[serde(rename = "endTime", default, skip_serializing_if = "Option::is_none")]
pub end_time: Option<String>,
#[serde(rename = "runState", default, skip_serializing_if = "Option::is_none")]
pub run_state: Option<image_template_last_run_status::RunState>,
#[serde(rename = "runSubState", default, skip_serializing_if = "Option::is_none")]
pub run_sub_state: Option<image_template_last_run_status::RunSubState>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub message: Option<String>,
}
impl ImageTemplateLastRunStatus {
pub fn new() -> Self {
Self::default()
}
}
pub mod image_template_last_run_status {
use super::*;
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub enum RunState {
Running,
Canceling,
Succeeded,
PartiallySucceeded,
Failed,
Canceled,
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub enum RunSubState {
Queued,
Building,
Customizing,
Distributing,
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct ImageTemplateListResult {
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub value: Vec<ImageTemplate>,
#[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")]
pub next_link: Option<String>,
}
impl ImageTemplateListResult {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct ImageTemplateManagedImageDistributor {
#[serde(flatten)]
pub image_template_distributor: ImageTemplateDistributor,
#[serde(rename = "imageId")]
pub image_id: String,
pub location: String,
}
impl ImageTemplateManagedImageDistributor {
pub fn new(image_template_distributor: ImageTemplateDistributor, image_id: String, location: String) -> Self {
Self {
image_template_distributor,
image_id,
location,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct ImageTemplateManagedImageSource {
#[serde(flatten)]
pub image_template_source: ImageTemplateSource,
#[serde(rename = "imageId")]
pub image_id: String,
}
impl ImageTemplateManagedImageSource {
pub fn new(image_template_source: ImageTemplateSource, image_id: String) -> Self {
Self {
image_template_source,
image_id,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct ImageTemplatePlatformImageSource {
#[serde(flatten)]
pub image_template_source: ImageTemplateSource,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub publisher: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub offer: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sku: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub version: Option<String>,
#[serde(rename = "exactVersion", default, skip_serializing_if = "Option::is_none")]
pub exact_version: Option<String>,
#[serde(rename = "planInfo", default, skip_serializing_if = "Option::is_none")]
pub plan_info: Option<PlatformImagePurchasePlan>,
}
impl ImageTemplatePlatformImageSource {
pub fn new(image_template_source: ImageTemplateSource) -> Self {
Self {
image_template_source,
publisher: None,
offer: None,
sku: None,
version: None,
exact_version: None,
plan_info: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct ImageTemplatePowerShellCustomizer {
#[serde(flatten)]
pub image_template_customizer: ImageTemplateCustomizer,
#[serde(rename = "scriptUri", default, skip_serializing_if = "Option::is_none")]
pub script_uri: Option<String>,
#[serde(rename = "sha256Checksum", default, skip_serializing_if = "Option::is_none")]
pub sha256_checksum: Option<String>,
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub inline: Vec<String>,
#[serde(rename = "runElevated", default, skip_serializing_if = "Option::is_none")]
pub run_elevated: Option<bool>,
#[serde(rename = "runAsSystem", default, skip_serializing_if = "Option::is_none")]
pub run_as_system: Option<bool>,
#[serde(rename = "validExitCodes", default, skip_serializing_if = "Vec::is_empty")]
pub valid_exit_codes: Vec<i64>,
}
impl ImageTemplatePowerShellCustomizer {
pub fn new(image_template_customizer: ImageTemplateCustomizer) -> Self {
Self {
image_template_customizer,
script_uri: None,
sha256_checksum: None,
inline: Vec::new(),
run_elevated: None,
run_as_system: None,
valid_exit_codes: Vec::new(),
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct ImageTemplateProperties {
pub source: ImageTemplateSource,
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub customize: Vec<ImageTemplateCustomizer>,
pub distribute: Vec<ImageTemplateDistributor>,
#[serde(rename = "provisioningState", default, skip_serializing_if = "Option::is_none")]
pub provisioning_state: Option<ProvisioningState>,
#[serde(rename = "provisioningError", default, skip_serializing_if = "Option::is_none")]
pub provisioning_error: Option<ProvisioningError>,
#[serde(rename = "lastRunStatus", default, skip_serializing_if = "Option::is_none")]
pub last_run_status: Option<ImageTemplateLastRunStatus>,
#[serde(rename = "buildTimeoutInMinutes", default, skip_serializing_if = "Option::is_none")]
pub build_timeout_in_minutes: Option<i64>,
#[serde(rename = "vmProfile", default, skip_serializing_if = "Option::is_none")]
pub vm_profile: Option<ImageTemplateVmProfile>,
}
impl ImageTemplateProperties {
pub fn new(source: ImageTemplateSource, distribute: Vec<ImageTemplateDistributor>) -> Self {
Self {
source,
customize: Vec::new(),
distribute,
provisioning_state: None,
provisioning_error: None,
last_run_status: None,
build_timeout_in_minutes: None,
vm_profile: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct ImageTemplateRestartCustomizer {
#[serde(flatten)]
pub image_template_customizer: ImageTemplateCustomizer,
#[serde(rename = "restartCommand", default, skip_serializing_if = "Option::is_none")]
pub restart_command: Option<String>,
#[serde(rename = "restartCheckCommand", default, skip_serializing_if = "Option::is_none")]
pub restart_check_command: Option<String>,
#[serde(rename = "restartTimeout", default, skip_serializing_if = "Option::is_none")]
pub restart_timeout: Option<String>,
}
impl ImageTemplateRestartCustomizer {
pub fn new(image_template_customizer: ImageTemplateCustomizer) -> Self {
Self {
image_template_customizer,
restart_command: None,
restart_check_command: None,
restart_timeout: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct ImageTemplateSharedImageDistributor {
#[serde(flatten)]
pub image_template_distributor: ImageTemplateDistributor,
#[serde(rename = "galleryImageId")]
pub gallery_image_id: String,
#[serde(rename = "replicationRegions")]
pub replication_regions: Vec<String>,
#[serde(rename = "excludeFromLatest", default, skip_serializing_if = "Option::is_none")]
pub exclude_from_latest: Option<bool>,
#[serde(rename = "storageAccountType", default, skip_serializing_if = "Option::is_none")]
pub storage_account_type: Option<image_template_shared_image_distributor::StorageAccountType>,
}
impl ImageTemplateSharedImageDistributor {
pub fn new(image_template_distributor: ImageTemplateDistributor, gallery_image_id: String, replication_regions: Vec<String>) -> Self {
Self {
image_template_distributor,
gallery_image_id,
replication_regions,
exclude_from_latest: None,
storage_account_type: None,
}
}
}
pub mod image_template_shared_image_distributor {
use super::*;
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub enum StorageAccountType {
#[serde(rename = "Standard_LRS")]
StandardLrs,
#[serde(rename = "Standard_ZRS")]
StandardZrs,
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct ImageTemplateSharedImageVersionSource {
#[serde(flatten)]
pub image_template_source: ImageTemplateSource,
#[serde(rename = "imageVersionId")]
pub image_version_id: String,
}
impl ImageTemplateSharedImageVersionSource {
pub fn new(image_template_source: ImageTemplateSource, image_version_id: String) -> Self {
Self {
image_template_source,
image_version_id,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct ImageTemplateShellCustomizer {
#[serde(flatten)]
pub image_template_customizer: ImageTemplateCustomizer,
#[serde(rename = "scriptUri", default, skip_serializing_if = "Option::is_none")]
pub script_uri: Option<String>,
#[serde(rename = "sha256Checksum", default, skip_serializing_if = "Option::is_none")]
pub sha256_checksum: Option<String>,
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub inline: Vec<String>,
}
impl ImageTemplateShellCustomizer {
pub fn new(image_template_customizer: ImageTemplateCustomizer) -> Self {
Self {
image_template_customizer,
script_uri: None,
sha256_checksum: None,
inline: Vec::new(),
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct ImageTemplateSource {
#[serde(rename = "type")]
pub type_: String,
}
impl ImageTemplateSource {
pub fn new(type_: String) -> Self {
Self { type_ }
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct ImageTemplateUpdateParameters {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub identity: Option<ImageTemplateIdentity>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<serde_json::Value>,
}
impl ImageTemplateUpdateParameters {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct ImageTemplateVhdDistributor {
#[serde(flatten)]
pub image_template_distributor: ImageTemplateDistributor,
}
impl ImageTemplateVhdDistributor {
pub fn new(image_template_distributor: ImageTemplateDistributor) -> Self {
Self {
image_template_distributor,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct ImageTemplateVmProfile {
#[serde(rename = "vmSize", default, skip_serializing_if = "Option::is_none")]
pub vm_size: Option<String>,
#[serde(rename = "osDiskSizeGB", default, skip_serializing_if = "Option::is_none")]
pub os_disk_size_gb: Option<i64>,
#[serde(rename = "userAssignedIdentities", default, skip_serializing_if = "Vec::is_empty")]
pub user_assigned_identities: Vec<String>,
#[serde(rename = "vnetConfig", default, skip_serializing_if = "Option::is_none")]
pub vnet_config: Option<VirtualNetworkConfig>,
}
impl ImageTemplateVmProfile {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct ImageTemplateWindowsUpdateCustomizer {
#[serde(flatten)]
pub image_template_customizer: ImageTemplateCustomizer,
#[serde(rename = "searchCriteria", default, skip_serializing_if = "Option::is_none")]
pub search_criteria: Option<String>,
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub filters: Vec<String>,
#[serde(rename = "updateLimit", default, skip_serializing_if = "Option::is_none")]
pub update_limit: Option<i64>,
}
impl ImageTemplateWindowsUpdateCustomizer {
pub fn new(image_template_customizer: ImageTemplateCustomizer) -> Self {
Self {
image_template_customizer,
search_criteria: None,
filters: Vec::new(),
update_limit: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct Operation {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub display: Option<operation::Display>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub origin: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
#[serde(rename = "isDataAction", default, skip_serializing_if = "Option::is_none")]
pub is_data_action: Option<bool>,
}
impl Operation {
pub fn new() -> Self {
Self::default()
}
}
pub mod 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 operation: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resource: 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 OperationListResult {
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub value: Vec<Operation>,
#[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")]
pub next_link: Option<String>,
}
impl OperationListResult {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct PlatformImagePurchasePlan {
#[serde(rename = "planName")]
pub plan_name: String,
#[serde(rename = "planProduct")]
pub plan_product: String,
#[serde(rename = "planPublisher")]
pub plan_publisher: String,
}
impl PlatformImagePurchasePlan {
pub fn new(plan_name: String, plan_product: String, plan_publisher: String) -> Self {
Self {
plan_name,
plan_product,
plan_publisher,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct ProvisioningError {
#[serde(rename = "provisioningErrorCode", default, skip_serializing_if = "Option::is_none")]
pub provisioning_error_code: Option<provisioning_error::ProvisioningErrorCode>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub message: Option<String>,
}
impl ProvisioningError {
pub fn new() -> Self {
Self::default()
}
}
pub mod provisioning_error {
use super::*;
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub enum ProvisioningErrorCode {
BadSourceType,
#[serde(rename = "BadPIRSource")]
BadPirSource,
BadManagedImageSource,
BadSharedImageVersionSource,
BadCustomizerType,
UnsupportedCustomizerType,
NoCustomizerScript,
BadDistributeType,
BadSharedImageDistribute,
ServerError,
Other,
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub enum ProvisioningState {
Creating,
Updating,
Succeeded,
Failed,
Deleting,
}
#[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)]
pub struct RunOutput {
#[serde(flatten)]
pub sub_resource: SubResource,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<RunOutputProperties>,
}
impl RunOutput {
pub fn new(sub_resource: SubResource) -> Self {
Self {
sub_resource,
properties: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct RunOutputCollection {
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub value: Vec<RunOutput>,
#[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")]
pub next_link: Option<String>,
}
impl RunOutputCollection {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct RunOutputProperties {
#[serde(rename = "artifactId", default, skip_serializing_if = "Option::is_none")]
pub artifact_id: Option<String>,
#[serde(rename = "artifactUri", default, skip_serializing_if = "Option::is_none")]
pub artifact_uri: Option<String>,
#[serde(rename = "provisioningState", default, skip_serializing_if = "Option::is_none")]
pub provisioning_state: Option<ProvisioningState>,
}
impl RunOutputProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct SubResource {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
pub name: String,
#[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
pub type_: Option<String>,
}
impl SubResource {
pub fn new(name: String) -> Self {
Self {
id: None,
name,
type_: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct TrackedResource {
#[serde(flatten)]
pub resource: Resource,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tags: Option<serde_json::Value>,
pub location: String,
}
impl TrackedResource {
pub fn new(location: String) -> Self {
Self {
resource: Resource::default(),
tags: None,
location,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct VirtualNetworkConfig {
#[serde(rename = "subnetId", default, skip_serializing_if = "Option::is_none")]
pub subnet_id: Option<String>,
#[serde(rename = "proxyVmSize", default, skip_serializing_if = "Option::is_none")]
pub proxy_vm_size: Option<String>,
}
impl VirtualNetworkConfig {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct SystemData {
#[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
pub created_by: Option<String>,
#[serde(rename = "createdByType", default, skip_serializing_if = "Option::is_none")]
pub created_by_type: Option<system_data::CreatedByType>,
#[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
pub created_at: Option<String>,
#[serde(rename = "lastModifiedBy", default, skip_serializing_if = "Option::is_none")]
pub last_modified_by: Option<String>,
#[serde(rename = "lastModifiedByType", default, skip_serializing_if = "Option::is_none")]
pub last_modified_by_type: Option<system_data::LastModifiedByType>,
#[serde(rename = "lastModifiedAt", default, skip_serializing_if = "Option::is_none")]
pub last_modified_at: Option<String>,
}
impl SystemData {
pub fn new() -> Self {
Self::default()
}
}
pub mod system_data {
use super::*;
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub enum CreatedByType {
User,
Application,
ManagedIdentity,
Key,
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub enum LastModifiedByType {
User,
Application,
ManagedIdentity,
Key,
}
}